diff --git a/src/app/components/Info.tsx b/src/app/components/Info.tsx index ec9fed54..5b394f4a 100644 --- a/src/app/components/Info.tsx +++ b/src/app/components/Info.tsx @@ -21,11 +21,11 @@ const InfoBox = ({inputTitle, description}: Props): JSX.Element => { const dispatch = useAppDispatch(); const { t } = useTranslation(); - const translationReadyLabel = t(`pc:${inputTitle}.label`); + const translationReadyLabel = t(`publiccodeyml.${inputTitle}.label`); // some components use Info to display some constraint // e.g. max/minLength info const translationReadyDescription = inputTitle - ? t(`pc:${inputTitle.replace(/\[[0-9]+\]/,'')}.description`) + ? t(`publiccodeyml.${inputTitle.replace(/\[[0-9]+\]/,'')}.description`) : description; const partial = ellipsis(translationReadyDescription); diff --git a/src/app/form/renderField.js b/src/app/form/renderField.js index 29e9bc67..386121ef 100644 --- a/src/app/form/renderField.js +++ b/src/app/form/renderField.js @@ -46,7 +46,7 @@ const renderField = ( let showLabel = schema.showLabel == false ? false : true; // label are same for every element of arrays const translationReadyLabel = t( - `pc:${schema.rawTitle || newFieldName.replace(/\[[0-9]+\]/,'') || schema.title}.label` + `publiccodeyml.${schema.rawTitle || newFieldName.replace(/\[[0-9]+\]/,'') || schema.title}.label` ); const lbl = translationReadyLabel || schema.title || fieldName; diff --git a/src/i18n/index.ts b/src/i18n/index.ts index fe0a813e..3caeb418 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -4,24 +4,16 @@ import locales from "locale-codes"; import LanguageDetector from 'i18next-browser-languagedetector'; import { FALLBACK_LANGUAGE } from "../app/contents/constants"; -import translation from "./translations.json"; -import pc from "./publiccode.json"; +import en from "./locales/en.json"; +import it from "./locales/it.json"; i18n .use(LanguageDetector) .use(initReactI18next) .init({ - ns: ["translation", "pc"], - defaultNS: "translation", resources: { - en: { - pc: pc.en.pc, - translation: translation.en.translation, - }, - it: { - pc: pc.it.pc, - translation: translation.it.translation, - }, + en: { translation: en }, + it: { translation: it }, }, supportedLngs: ["en", "it"], nonExplicitSupportedLngs: true, // make pass eg. "en-US" if "en" is in supportedLngs diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json new file mode 100644 index 00000000..905107db --- /dev/null +++ b/src/i18n/locales/en.json @@ -0,0 +1,330 @@ +{ + "editor": { + "cancel": "Cancel", + "title": "publiccode.yml Editor", + "needhelp": "Need Help?", + "lastgeneration": "Last generation", + "addlanguage": "add language to the publiccode.yml file...", + "readmore": "Read more", + "nocodegenerated": "No code generated", + "copy": "Copia", + "copytext": "Copied to clipboard", + "download": "Download", + "genericerror": "There are some errors", + "success": "Success!", + "browsefile": "Browse file from disk", + "browse": "Browse", + "pastefile": "Paste remote publiccode.yaml url", + "load": "Load", + "notvalidurl": "Not a valid url", + "filenotsupported": "File type not supported", + "errors": { + "yamlloading": "Error loading yaml" + }, + "form": { + "reset": "Reset", + "validate": "Validate", + "generate": "Generate", + "addnew": "Add new", + "overwrite": "Overwrite form", + "overwritetext": "This operation will erase all data" + }, + "sections": { + "name": "Name", + "repository-and-documentation": "Repository & Documentation", + "software-details": "Software Details", + "legal-and-reuse": "Legal & Reuse", + "description-and-features": "Description & Features", + "logo-and-screenshots": "Logo & Screenshots", + "purpose-and-audience": "Purpose & Audience", + "maintenance": "Maintainance" + }, + "validation": { + "inprogress": "Validation in progress" + } + }, + "publiccodeyml": { + "description": { + "localisedName": { + "label": "Localised Name", + "description": "The short public name of the product in this specific language. It should be the name most people usually refer to the software. In case the software has both an internal “code” name and a commercial name, use the commercial name." + }, + "genericName": { + "label": "Generic Name", + "description": "The specific category to which the software belongs. You can usually find the generic name in the presentation of the software, when you write: “Software xxx is a yyy” Notable examples include “Text Editor”, “Word Processor”, “Web Browser”, “Chat” and so on…" + }, + "shortDescription": { + "label": "Short Description", + "description": "The short description of the software. It should be a single line containing a single sentence." + }, + "longDescription": { + "label": "Long Description", + "description": "The longer description of the software. It provides an overview of the capabilities of the software for a potential user. The audience is the users of the software, not developers. You can think of this text as the description of the software that would be in its website (if the software had one). This description can contain some basic markdown: *italic*, **bold**, bullet points and [links](#)." + }, + "documentation": { + "label": "Documentation", + "description": "The reference to the user-level (not developer-level) documentation of the software. The value must be the URL to a hosted version of the documentation. It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser in both desktop and mobile format. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.)." + }, + "apiDocumentation": { + "label": "API Documentation", + "description": "The reference to the API documentation of the software. The value must be the URL to a hosted version of the documentation. It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.), and if there is a reference or test deployment, possibly offer an interactive interface (e.g. Swagger)." + }, + "features": { + "label": "Features", + "description": "The list of software features, describing what capabilities the software allows to do. The audience for this text should be that of public decision makers who will be commissioning the software. The features should thus not target developers: instead of listing technical features referring to implementation details, prefer listing user-visible functionalities of the software. While it is mandatory, there is no mandatory minimum or maximum number of features that should be listed. The suggested number of features to list is between 5 and 20, depending on the software size and complexity. There is no need for exhaustiveness, as users can always read the documentation for additional information.", + "value": { + "label": "Feature", + "description": "" + } + }, + "awards": { + "label": "Awards", + "description": "The list of awards won by the software." + }, + "screenshots": { + "label": "Screenshots", + "description": "Screenshots of the software with the purpose of showing an overview on how it works. It can be a relative or absolute path" + }, + "videos": { + "label": "Videos", + "description": "One or more URLs of videos showing how the software works. Like screenshots, videos should be used to give a quick overview on how the software looks like and how it works. Videos must be hosted on a video sharing website that supports the oEmbed standard; popular options are YouTube and Vimeo." + } + }, + "legal": { + "license": { + "label": "License", + "description": "The license the software is distributed under. It must contain a valid SPDX expression, referring to one (or multiple) Free and Open Source license. Please refer to the SPDX documentation for further information." + }, + "mainCopyrightOwner": { + "label": "Main Copyright Owner", + "description": "The entity owning the copyright on most of the code in the repository. Normally, this is the line that is reported with the copyright symbol at the top of most files in the repo." + }, + "repoOwner": { + "label": "Repository Owner", + "description": "The entity that owns this repository; this might or might not be the same entity who owns the copyright on the code itself. For instance, in case of a fork of the original software, the repoOwner is probably different from the Main Copyright Owner." + }, + "authorsFile": { + "label": "Authors File", + "description": "Some Free and Open Source software identifies the copyright holders through a file that lists all the entities that own the copyright. This is common in projects strongly backed by a community with many external contributors and no clear single/main copyright owner. In such cases, this value can be used to refer to the authors file, using a path relative to the root of the repository." + } + }, + "intendedAudience": { + "scope": { + "label": "Scope", + "description": "Public software can be very specific in scope because there is a large set of tasks that are specific to each type of administration. For instance, many softwares that are used in schools are probably not useful in hospitals. If you want to explicitly mark some software as only useful to certain types of administrations, you should add them to this value. The list of allowed values is defined in pa-types.md, and can be country-specific. This list can evolve at any time, separately from the version of this specification." + }, + "countries": { + "label": "Countries", + "description": "List of countries this software explicitly claims compliance with (fe. their processes, technologies or laws). All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes." + }, + "unsupportedCountries": { + "label": "Unsupported Countries", + "description": "List of unsupported countries. This might be the case if there is a conflict between how the software is working and a specific law, process or technology. All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes." + } + }, + "localisation": { + "localisationReady": { + "label": "Localisation Ready", + "description": "Whether the software has infrastructure in place or is otherwise designed to be multilingual. It does not need to be available in more than one language." + }, + "availableLanguages": { + "label": "Available Languages", + "description": "The list of languages the software is translated to." + } + }, + "it": { + "countryExtensionVersion": { + "label": "Country Ext. Version", + "description": "Country Extension version" + }, + "riuso": { + "codiceIPA": { + "label": "Codice iPA dell’ente (obbligatorio per Pubbliche Amministrazioni)", + "description": "Codice dell’ente all’interno dell’Indice delle Pubbliche Amministrazioni (codice iPA, https://indicepa.gov.it/)." + } + }, + "piattaforme": { + "label": "Piattaforme", + "spid": { + "label": "SPID", + "description": "Se supporta SPID - il Sistema Pubblico di Identità Digitale." + }, + "cie": { + "label": "CIE", + "description": "Se supporta la Carta di Identità Elettronica." + }, + "anpr": { + "label": "ANPR", + "description": "Se supporta ANPR, l’Anagrafe Nazionale." + }, + "pagopa": { + "label": "pagoPA", + "description": "Se supporta pagoPA." + } + }, + "conforme": { + "label": "Conforme", + "lineeGuidaDesign": { + "label": "Linee guida design", + "description": "Se è conforme alle linee guida di design." + }, + "modelloInteroperabilita": { + "label": "Interoperabile", + "description": "Se è conforme alle linee guida sull’interoperabilità. (Articolo 73 del CAD)." + }, + "misureMinimeSicurezza": { + "label": "Misure minime sicurezza", + "description": "Se è conforme alle Misure minime di sicurezza ICT per le Pubbliche amministrazioni." + }, + "gdpr": { + "label": "GDPR", + "description": "Se il software rispetta il GDPR." + } + } + }, + "maintenance": { + "type": { + "label": "Maintenance Type", + "description": "How the software is currently maintained. “internal” means that the software is internally maintained by the repository owner. ”contract” means that there is a commercial contract that binds an entity to the maintenance of the software; ”community” means that the software is currently maintained by one or more people that donate their time to the project; “none” means that the software is not actively maintained." + }, + "contacts": { + "label": "Contacts", + "description": "One or more contacts of technical people currently responsible for maintaining the software. All contacts need to be a natural person, not a company or an organisation. If somebody is acting as a representative of an institution, it must be listed within the affiliation of the contact. In case of a commercial agreement (or a chain of such agreements), specify the final entities actually contracted to deliver the maintenance. Do not specify the software owner unless it is technically involved with the maintenance of the product as well.", + "name": { + "description": "The full name of one of the technical contacts. It must be a real person; do NOT populate it with generic contact information, company departments, associations, etc.", + "label": "Name" + }, + "phone": { + "description": "Phone number (with international prefix)", + "label": "Phone" + }, + "email": { + "description": "The e-mail address of the technical contact. It must be an email address of where the technical contact can be directly reached; do NOT populate it with mailing-lists or generic contact points like info@acme.inc. ", + "label": "Email" + }, + "affiliation": { + "description": "The explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc.", + "label": "Affiliation" + } + }, + "contractors": { + "label": "Contractors", + "description": "The entity or entities, if any, that are currently contracted for maintaining the software. They can be companies, organizations, or other collective names.", + "name": { + "label": "Name", + "description": "The name of the contractor, whether it’s a company or a natural person." + }, + "until": { + "label": "Until", + "description": "The date the maintenance is going to end. In case of community maintenance, the value should not be more than 2 years in the future, and thus will need to be regularly updated as the community continues working on the project." + }, + "website": { + "label": "website", + "description": "The maintainer website. It can either point to the main institutional website, or to a more project-specific page or website." + } + } + }, + "dependsOn": { + "label": "Depends On", + "description": "System-level dependencies required to install and use this software.", + "type": { + "label": "Type" + }, + "name": { + "label": "Name", + "description": "The name of the dependency (e.g. MySQL, NFC Reader)" + }, + "versionMin": { + "label": "Version Range Min", + "description": "The first compatible version" + }, + "versionMax": { + "label": "Version Range Max", + "description": "The latest compatible version" + }, + "version": { + "label": "Exact Version", + "description": "The only major version for which the software is compatible. It assumes compatibility with all patches and bugfixes later applied to this version." + }, + "optional": { + "label": "Optional", + "description": "Whether the dependency is optional or mandatory" + } + }, + "publiccodeYmlVersion": { + "label": "publiccodeYmlVersion", + "description": "hidden field for actual publiccode version" + }, + "name": { + "label": "Name of the software", + "description": "The short public name of the product. It should be the name most people usually refer to the software. In case software has both an internal “code” name and a commercial name, use the commercial name." + }, + "releaseDate": { + "label": "Release Date", + "description": "The release date of the latest version. It is mandatory if the software has been released at least once and thus the version number is present." + }, + "url": { + "label": "Repository URL", + "description": "The unique identifier for this software. It must be the URL of the source code repository (e.g. git, svn) where the software is published. If the repository is available under multiple protocols, prefer HTTP/HTTPS URLs that don’t require user authentication." + }, + "applicationSuite": { + "label": "Application Suite", + "description": "The name of the “suite” the software belongs to." + }, + "landingURL": { + "label": "Landing Page URL", + "description": "If the URL parameter does not serve a human readable or browsable page, but only serves source code to a source control client, with this key you have an option to specify a landing page. This page, ideally, is where your users will land when they will click a button labeled something like “Go to the application source code”. In case the product provides an automated graphical installer, this URL can point to a page which contains a reference to the source code but also offers the download of such an installer." + }, + + "isBasedOn": { + "label": "Is Based On", + "description": "The URL of the original project, if this software is a variant or a fork of another software. If present, it identifies the fork as a software variant, descending from the specified repositories." + }, + "softwareVersion": { + "label": "Software Version", + "description": "The latest stable version number of the software. The version number is a string that is not meant to be interpreted and parsed but just displayed; parsers should not assume semantic versioning or any other specific version format." + }, + "logo": { + "label": "Logo", + "description": "The logo of the software. Logos should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG." + }, + "monochromeLogo": { + "label": "Logo Monochrome", + "description": "The monochromatic (black) logo. The logo should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG." + }, + "developmentStatus": { + "label": "Development Status", + "description": "Allowed values: concept, development, beta, stable, obsolete" + }, + "softwareType": { + "label": "Software Type", + "description": "Allowed values: standalone, addon, library, configurationFiles" + }, + "roadmap": { + "label": "Roadmap", + "description": "The URL of the public roadmap of the software." + }, + "platforms": { + "label": "Platforms", + "description": "List of platforms the software runs under. It describes the platforms that users will use to access and operate the software, rather than the platform the software itself runs on. Use the predefined values if possible. If the software runs on a platform for which a predefined value is not available, a different value can be used. Values: web, windows, mac, linux, ios, android. Human readable values outside this list are allowed." + }, + + "categories": { + "label": "Category", + "description": "The list of categories this software falls under." + }, + + "usedBy": { + "label": "Used By", + "description": "The list of the names of prominent public administrations (that will serve as testimonials) that are currently known to the software maintainer to be using this software. Parsers are encouraged to enhance this list also with other information that can obtain independently; for instance, a fork of a software, owned by an administration, could be used as a signal of usage of the software." + }, + "inputTypes": { + "label": "Input Types", + "description": "The list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any input, you can skip this field or use application/x.empty." + }, + "outputTypes": { + "label": "Output Types", + "description": "The list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any output, you can skip this field or use application/x.empty." + } + } +} diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json new file mode 100644 index 00000000..a66737e3 --- /dev/null +++ b/src/i18n/locales/it.json @@ -0,0 +1,330 @@ +{ + "editor": { + "cancel": "Annulla", + "title": "publiccode.yml Editor", + "needhelp": "Aiuto?", + "lastgeneration": "Ultimo aggiornamento", + "addlanguage": "aggiungi lingua al file publiccode.yml...", + "readmore": "Leggi di più", + "nocodegenerated": "Nessun publiccode generato", + "copy": "Copia", + "copytext": "Copiato negli appunti", + "download": "Scarica", + "genericerror": "Ci sono degli errori", + "success": "Ottimo!", + "browsefile": "Carica il file dal disco", + "browse": "Upload", + "pastefile": "Incolla l'URL del tuo publiccode.yaml", + "load": "Carica", + "notvalidurl": "URL non valido!", + "filenotsupported": "File non supportato", + "errors": { + "yamlloading": "Errore nel caricamento dello yaml" + }, + "form": { + "reset": "Reset", + "validate": "Valida", + "generate": "Genera", + "addnew": "Aggiungi", + "overwrite": "Sovrascrivi form", + "overwritetext": "Questa operazione cancellerà tutti i dati già inseriti" + }, + "sections": { + "name": "Nome", + "repository-and-documentation": "Repository & Documentazione", + "software-details": "Dettagli Software", + "legal-and-reuse": "Legal & Riuso", + "description-and-features": "Descrizione & Funzionalità", + "logo-and-screenshots": "Logo & Screenshots", + "purpose-and-audience": "Scopo & Audience", + "maintenance": "Maintainance" + } + }, + "validation": { + "inprogress": "Validazione in corso" + }, + "publiccodeyml": { + "description": { + "localisedName": { + "label": "Nome Localizzato", + "description": "Il nome del software in una lingua specifica. È il nome con il quale la maggioranza delle persone normalmente si riferisce al software. Nel caso in cui il software abbia sia un nome “interno” che uno commerciale, usa quello commerciale." + }, + "genericName": { + "label": "Nome Generico", + "description": "Il “Nome generico”, della categoria alla quale il software appartiene. Per esempio “Editor di Testi”, “Word Processor”, “Web Browser”, “Chat” e così via. Il nome generico può avere una lunghezza fino a 35 caratteri." + }, + "shortDescription": { + "label": "Descrizione Breve", + "description": "La breve descrizione del software. Dovrebbe essere una singola linea contenente una singola frase." + }, + "longDescription": { + "label": "Descrizione Estesa", + "description": "La descrizione lunga che fornisce una panoramica per chi userà il software (e non per chi sviluppa). Può contenere del Markdown base: *italic*, **bold**, elenchi puntati e [link](#)." + }, + "documentation": { + "label": "Documentazione", + "description": "L’URL alla documentazione lato utente (non lato sviluppatore) Questo valore deve essere una URL che punta ad una versione ospitata della documentazione. È suggerito che questa URL punti ad una versione ospitata della documentazione che sia direttamente leggibile utilizzando un comune web browser sia in formato desktop che mobile. La documentazione dovrebbe essere renderizzata in HTML e navigabile come un sito web (con un indice, una barra di ricerca, etc.). Se la documentazione dovesse invece essere disponibile esclusivamente sotto forma di documento, è possibile inserire il link diretto per vedere/scaricare tale documento, sotto forma di URL. È consigliabile trattare la documentazione come parte del codice sorgente e dunque gestirla tramite commit sul repository del codice sorgente. In questo modo, sarà possibile fornire una URL diretta alla piattaforma di hosting del codice (ad es., GitHub URL al file). È preferibile utilizzare formati aperti quali PDF o ODT per avere la massima interoperabilità. Qualunque sia il formato della documentazione, è importante ricordare di rilasciarne i sorgenti coperti da licenza aperta, possibilmente effettuandone un commit all’interno del repository stesso." + }, + "apiDocumentation": { + "label": "Documentazione API", + "description": "L‘URL alla documentazione delle API del software che sia direttamente leggibile utilizzando un comune web browser. La documentazione dovrebbe essere renderizzata in HTML e navigabile come un sito web (con un indice, una barra di ricerca, etc.), e se c’è un riferimento ad un deployment di prova, questo dovrebbe offrire un’interfaccia navigabile (e.g. Swagger).Se la documentazione dovesse invece essere disponibile esclusivamente sotto forma di documento, è possibile inserire il link diretto per vedere/scaricare tale documento, sotto forma di URL. È consigliabile trattare la documentazione come parte del codice sorgente e dunque gestirla tramite commit sul repository del codice sorgente. In questo modo, sarà possibile fornire una URL diretta alla piattaforma di hosting del codice (ad es., GitHub URL al file). È preferibile utilizzare formati aperti quali PDF o ODT per avere laQualunque sia il formato della documentazione, è importante ricordare di rilasciarne i sorgenti coperti da licenza aperta, possibilmente effettuandone un commit all’interno del repository stesso." + }, + "features": { + "label": "Funzionalità", + "description": "La lista di feature del software, che descriva le possibilità offerte dallo stesso. Il target di questo testo sono i decisori pubblici che potranno decidere di adottarlo o modificarlo. Per questo motivo, queste feature non devono riferirsi agli sviluppatori: invece di elencare le caratteristiche tecniche riferite ai dettagli implementativi, è preferibile elencare le funzionalità lato utente. Il numero di feature suggerito da elencare è tra 5 e 20, a seconda della dimensione del software e della sua complessità. Non c’è bisogno di fare una lista esaustiva, dal momento che gli utenti hanno sempre a disposizione la documentazione per reperire ulteriori informazioni.", + "value": { + "label": "Funzionalità", + "description": "" + } + }, + "awards": { + "label": "Premi", + "description": "Una lista di premi assegnati al software." + }, + "screenshots": { + "label": "Schermate", + "description": "Una o più schermate per dare una panoramica dell’aspetto del software e del suo funzionamento. Può essere il percorso relativo al file a partire dalla radice del repository, oppure un URL assoluto. In entrambi i casi, il file deve risiedere all’interno del medesimo repository che contiene il publiccode.yml." + }, + "videos": { + "label": "Video", + "description": "Uno o più URL di video che mostrano il funzionamento del software per dare una rapida panoramica sull’aspetto e le funzionalità del software. I video devono essere ospitati su una piattaforma di video sharing che supporti lo standard oEmbed; le opzioni più popolari sono YouTube e Vimeo. Dal momento che costituisce parte integrante della documentazione, è opportuno che il video sia pubblicato con una licenza aperta." + } + }, + "legal": { + "license": { + "label": "Licenza", + "description": "La licenza con cui il software è distribuito. Deve essere un’espressione SPDX valida che si riferisca ad una (o più) licenze open-source. Per avere ulteriori informazioni a riguardo è possibile visitare la documentazione SPDX." + }, + "mainCopyrightOwner": { + "label": "Principale proprietario del copyright", + "description": "L’entità che possiede il copyright sulla maggior parte del codice presente nel repository. Normalmente, questa è la linea che viene riportata con il simbolo di copyright all’inizio della maggior parte dei file nel repository. È possibile elencare diversi proprietari se necessario, usando una frase in inglese. È anche possibile riferirsi ad una community o ad un gruppo di persone come ad esempio “Linus Torvalds and all Linux contributors”." + }, + "repoOwner": { + "label": "Proprietario del repository", + "description": "L’entità che possiede il repository; questa può essere o non essere la stessa che possiede il copyright del codice stesso. Ad esempio, nel caso di un fork del software originale, il Proprietario del repository è probabilmente diverso dal principale proprietario del copyright." + }, + "authorsFile": { + "label": "File Autori", + "description": "Qualche software open-source adotta una convenzione che identifica il detentore del copyright attraverso un file elencante tutte le entità che possiedono il copyright. Questo è comune nei progetti fortemente sostenuti dalla community ove esistono diversi contributori esterni e non c’è un chiaro singolo detentore del copyright. In questi casi, si può usare questo campo per riferirsi al suddetto file degli autori, usando un percorso relativo alla radice del repository." + } + }, + "intendedAudience": { + "scope": { + "label": "Scopo", + "description": "Una lista di tag che rappresentano il campo di applicazione del software. I tag consentiti sono elencati nella Lista dei campi di applicazione." + }, + "countries": { + "label": "Paesi", + "description": "Indica in modo esplicito alcuni Paesi tra il pubblico previsto, come la conformità con processi specifici, tecnologie o leggi. Tutti i Paesi sono specificati usando country code a due lettere seguendo lo standard ISO 3166-1 alpha-2." + }, + "unsupportedCountries": { + "label": "Paesi non supportati", + "description": "Indica esplicitamente i Paesi NON supportati. Questa situazione potrebbe verificarsi nel momento in cui esista un conflitto tra la modalità di funzionamento del software ed una legge specifica, un processo o una tecnologia. Tutti i Paesi sono specificati usando country code a due lettere seguendo lo standard ISO 3166-1 alpha-2." + } + }, + "localisation": { + "localisationReady": { + "label": "Supporto alla Localizzazione", + "description": "Il software ha l’infrastruttura o è stato progettato per essere multi-lingua. Questo campo non pregiudica l’esistenza di una traduzione in altre lingue ma si riferisce esclusivamente all’aspetto tecnologico." + }, + "availableLanguages": { + "label": "Lingue Disponibili", + "description": "La lista di lingue in cui è disponibile il software." + } + }, + "it": { + "countryExtensionVersion": { + "label": "Versione Sezione Nazionale", + "description": "Versione Sezione Nazionale" + }, + "riuso": { + "codiceIPA": { + "label": "Codice iPA dell’ente (obbligatorio per Pubbliche Amministrazioni)", + "description": "Codice dell’ente all’interno dell’Indice delle Pubbliche Amministrazioni (codice iPA, https://indicepa.gov.it/)." + } + }, + "piattaforme": { + "label": "Piattaforme", + "spid": { + "label": "SPID", + "description": "Il software si interfaccia con SPID - il Sistema Pubblico di Identità Digitale." + }, + "cie": { + "label": "CIE", + "description": "Il software si interfaccia con la Carta di Identità Elettronica." + }, + "anpr": { + "label": "ANPR", + "description": "Il software si interfaccia con ANPR, l’Anagrafe Nazionale." + }, + "pagopa": { + "label": "pagoPA", + "description": "Il software si interfaccia con pagoPA." + } + }, + "conforme": { + "label": "Conforme", + "lineeGuidaDesign": { + "label": "Linee guida design", + "description": "Il software è conforme alle linee guida di design." + }, + "modelloInteroperabilita": { + "label": "Interoperabile", + "description": "Il software è conforme alle linee guida sull’interoperabilità. Riferimento normativo: Art. 73 del CAD." + }, + "misureMinimeSicurezza": { + "label": "Misure minime sicurezza", + "description": "Il software è conforme alle Misure minime di sicurezza ICT per le Pubbliche amministrazioni." + }, + "gdpr": { + "label": "GDPR", + "description": "Il software rispetta il GDPR." + } + } + }, + "maintenance": { + "type": { + "label": "Tipo Manutenzione", + "description": "Descrive come il software è attualmente manutenuto. I possibili valori sono: internal - significa che il software è manutenuto internamente dal proprietario del repository; contract - significa che c’è un contratto commerciale che lega un’entità alla manutenzione del software; community - significa che il software è attualmente manutenuto da una o più persone che offrono il loro tempo al progetto; none - significa che il software non è al momento manutenuto." + }, + "contacts": { + "label": "Contatti", + "description": "Uno o più contatti di chi sta mantenendo il software. Descrive le persone tecniche che attualmente sono responsabili della manutenzione del software. Tutti i contatti devono essere di una persona fisica, non un’azienda o un’organizzazione. Se un contatto funge da rappresentante di un’istituzione, questo rapporto deve essere esplicitato attraverso il campo Affiliazione. Nel caso di un accordo commerciale (o una catena di tali accordi), specificare le entità finali che sono effettivamente contrattate per fornire la manutenzione. Non specificare il proprietario del software a meno che sia tecnicamente coinvolto anche nella manutenzione del prodotto", + "name": { + "description": "Obbligatorio - il nome completo di uno dei contatti tecnici. Deve essere una persona reale; NON popolare questa campo con informazioni di contatto generiche, dipartimenti dell’azienda, associazioni, etc.", + "label": "Nome" + }, + "phone": { + "description": "Numero telefonico (con prefisso internazionale).", + "label": "Telefono" + }, + "email": { + "description": "L’indirizzo email del contatto tecnico. NON compilare questo campo con mailing-list o punti di contatto generico tipo “info@acme.inc”.", + "label": "Email" + }, + "affiliation": { + "description": "Informazioni esplicite sui contatti tecnici. Nel caso esistano diversi maintainer, questo valore può essere usato per creare relazioni tra diversi contatti tecnici e entità di manutenzione. Ad esempio, può contenere il nome di un’azienda, il nome di un’associazione, etc", + "label": "Affiliazione" + } + }, + "contractors": { + "label": "Contratto di Manutenzione", + "description": "L’entità o le entità, se ce ne sono, che attualmente hanno un contratto di manutenzione del software. Queste possono essere aziende, organizzazioni o altri nomi collettivi.", + "name": { + "label": "Nome", + "description": "Obbligatoria - Il nome del contractor, sia esso un’azienda o una persona fisica." + }, + "until": { + "label": "Email", + "description": "L’indirizzo email del contatto tecnico. Deve essere un indirizzo email per il contatto diretto con il tecnico; NON compilare questo campo con mailing-list o punti di contatto generico tipo “info@acme.inc”." + }, + "website": { + "label": "Website", + "description": "L’indirizzo del sito del maintainer. Può puntare al principale sito istituzionale, o ad una pagina o sito più specifica." + } + } + }, + "dependsOn": { + "label": "Dipendenze", + "description": "Ppanoramica delle dipendenze a livello di sistema necessarie per installare ed utilizzare il software. Nota bene: non elencare le dipendenze a livello di codice sorgente (ad es., librerie software usate), e focalizza solo su dipendenze di sistema e/o a runtime che devono essere installate e manutenute separatamente. Ad esempio, un database è un buon esempio di questo tipo di dipendenza.", + "type": { + "label": "Tipo" + }, + "name": { + "label": "Nome", + "description": "Obbligatorio - Il nome della dipendenza (e.g. MySQL, NFC Reader)." + }, + "versionMin": { + "label": "Versione Minima", + "description": "la prima versione compatibile;" + }, + "versionMax": { + "label": "Version Massima", + "description": "l’ultima versione compatibile;" + }, + "version": { + "label": "Versione Esatta", + "description": "l’unica versione major con la quale il software è compatibile. Si assume la compatibilità con tutte le patch e i bugfix che saranno applicati successivamente a questa versione;" + }, + "optional": { + "label": "Opzionale", + "description": "se la dipendenza è opzionale o obbligatoria." + } + }, + "publiccodeYmlVersion": { + "label": "publiccodeYmlVersion", + "description": "hidden field for actual publiccode version" + }, + "name": { + "label": "Nome del software", + "description": "Il nome del software con il quale la maggior parte delle persone si riferisce a esso. Nel caso in cui il software abbia sia un nome in “codice” interno che uno commerciale, usa il nome commerciale." + }, + "releaseDate": { + "label": "Data di rilascio", + "description": "La data di ultimo rilascio del software. Obbligatoria se il software è stato rilasciato almeno una volta e dunque esiste un numero di versione." + }, + "url": { + "label": "URL Repository", + "description": "L’URL che punta al repository di codice sorgente (git, svn, …) nel quale il software è pubblicato. Se il repository è disponibile sotto diversi protocolli, preferire URL HTTPS senza autenticazione." + }, + "applicationSuite": { + "label": "Application Suite", + "description": "Il nome della “suite” alla quale il software appartiene." + }, + "landingURL": { + "label": "URL Landing Page", + "description": "L’URL che punta a una pagina di presentazione leggibile da un utente." + }, + + "isBasedOn": { + "label": "Variante o fork di", + "description": "Nel caso in cui questo software sia una variante o un fork di un altro software, che opzionalmente può contenere un file publiccode.yml, questo valore conterrà l’URL di uno o più progetti originali." + }, + "softwareVersion": { + "label": "Versione Software", + "description": "Il numero dell’ultima versione stabile del software. Può essere omesso nel caso in cui il software sia in una fase iniziale di sviluppo e non sia stato ancora rilasciato." + }, + "logo": { + "label": "Logo", + "description": "Il logo del software. Il valore può essere il percorso relativo al file a partire dalla radice del repository, oppure un URL assoluto che punta al logo in versione raw. In entrambi i casi, il file deve risiedere all’interno del medesimo repository che contiene il publiccode.yml. Il logo dovrebbe essere in formato vettoriale; i formati raster sono solo accettabili come fallback. In questo caso, dovrebbero essere PNG trasparenti, con una larghezza minima di 1000px." + }, + "monochromeLogo": { + "label": "Logo Monocromo", + "description": "Il logo monocromatico (nero) del software. Il valore può essere il percorso relativo al file a partire dalla root del repository, oppure un URL assoluto che punta al logo in versione raw. In entrambi i casi, il file deve risiedere all’interno del medesimo repository che contiene il publiccode.yml. Il logo dovrebbe essere in formato vettoriale; i formati raster sono solo accettabili come fallback. In questo caso, dovrebbero essere PNG trasparenti, con una larghezza minima di 1000px." + }, + "developmentStatus": { + "label": "Stato Sviluppo", + "description": "Le chiavi sono: concept - Il software è solo un “concept”. Non è stato sviluppato codice e il repository potrebbe semplicemente essere un placeholder. development - Qualche sforzo è stato fatto in direzione dello sviluppo del software ma il codice non è pronto per l’utenza finale, nemmeno in una versione preliminare (beta o alpha) per essere testato dall’utenza. beta - Il software è in fase di testing (alpha o beta). In questo stage, il software potrebbe aver o non aver ancora avuto una release pubblica preliminare. stable - Il software ha già avuto una prima release pubblica ed è pronto per essere usato in un contesto di produzione. obsolete - Il software non è più manutenuto o aggiornato. Tutto il codice sorgente è archiviato e tenuto per ragioni di storico." + }, + "softwareType": { + "label": "Tipo Software", + "description": "Valori possibili: standalone, addon, library, configurationFiles" + }, + "roadmap": { + "label": "Roadmap", + "description": "Un link a una roadmap pubblica del software." + }, + "platforms": { + "label": "Piattaforme", + "description": "La piattaforma su cui funziona il software è disponibile. È pensata per descrivere le piattaforme che l’utente userà per accedere ed utilizzare il software, piuttosto che la piattaforma sul quale il software gira. Se possibile, usare i valori predefiniti. Se il software gira su una piattaforma per la quale un valore predefinito non è disponibile, un diverso valore può essere usato." + }, + + "categories": { + "label": "Categorie", + "description": "Una lista di parole che possono essere usate per descrivere il software e possono aiutare a costruire il catalogo di software open. Il vocabolario controllato Lista delle categorie di software presenta la lista dei valori accettabili." + }, + + "usedBy": { + "label": "Usato Da", + "description": "Una lista di nome di prominenti Pubbliche Amministrazioni (che serviranno come “testimonial”) che il maintainer riconosce come utilizzatori attuali di questo software.I parser sono incoraggiati ad accrescere questa lista anche con altre informazioni che riescono ad ottenere in modo indipendente; ad esempio, il fork di un software, di proprietà di un’amministrazione, può essere usato come un segnale di uso del software." + }, + "inputTypes": { + "label": "Input Types", + "description": "Una lista di Media Types (MIME Types), come specificato dal RFC 6838, che possono essere gestiti in input dall’applicazione. Nel caso in cui il software non supporti alcun input, è possibile saltare questo campo o usare application/x.empty." + }, + "outputTypes": { + "label": "Output Types", + "description": "Una lista di Media Types (MIME Types), come specificato dal RFC 6838, che possono essere gestiti in output dall’applicazione. Nel caso in cui il software non supporti alcun output, è possibile saltare questo campo o usare application/x.empty." + } + } +} diff --git a/src/i18n/publiccode.json b/src/i18n/publiccode.json deleted file mode 100644 index 30ea359d..00000000 --- a/src/i18n/publiccode.json +++ /dev/null @@ -1,574 +0,0 @@ -{ - "en": { - "pc": { - "description": { - "localisedName": { - "label": "Localised Name", - "description": "The short public name of the product in this specific language. It should be the name most people usually refer to the software. In case the software has both an internal “code” name and a commercial name, use the commercial name." - }, - "genericName": { - "label": "Generic Name", - "description": "The specific category to which the software belongs. You can usually find the generic name in the presentation of the software, when you write: “Software xxx is a yyy” Notable examples include “Text Editor”, “Word Processor”, “Web Browser”, “Chat” and so on…" - }, - "shortDescription": { - "label": "Short Description", - "description": "The short description of the software. It should be a single line containing a single sentence." - }, - "longDescription": { - "label": "Long Description", - "description": "The longer description of the software. It provides an overview of the capabilities of the software for a potential user. The audience is the users of the software, not developers. You can think of this text as the description of the software that would be in its website (if the software had one). This description can contain some basic markdown: *italic*, **bold**, bullet points and [links](#)." - }, - "documentation": { - "label": "Documentation", - "description": "The reference to the user-level (not developer-level) documentation of the software. The value must be the URL to a hosted version of the documentation. It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser in both desktop and mobile format. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.)." - }, - "apiDocumentation": { - "label": "API Documentation", - "description": "The reference to the API documentation of the software. The value must be the URL to a hosted version of the documentation. It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.), and if there is a reference or test deployment, possibly offer an interactive interface (e.g. Swagger)." - }, - "features": { - "label": "Features", - "description": "The list of software features, describing what capabilities the software allows to do. The audience for this text should be that of public decision makers who will be commissioning the software. The features should thus not target developers: instead of listing technical features referring to implementation details, prefer listing user-visible functionalities of the software. While it is mandatory, there is no mandatory minimum or maximum number of features that should be listed. The suggested number of features to list is between 5 and 20, depending on the software size and complexity. There is no need for exhaustiveness, as users can always read the documentation for additional information.", - "value": { - "label": "Feature", - "description": "" - } - }, - "awards": { - "label": "Awards", - "description": "The list of awards won by the software." - }, - "screenshots": { - "label": "Screenshots", - "description": "Screenshots of the software with the purpose of showing an overview on how it works. It can be a relative or absolute path" - }, - "videos": { - "label": "Videos", - "description": "One or more URLs of videos showing how the software works. Like screenshots, videos should be used to give a quick overview on how the software looks like and how it works. Videos must be hosted on a video sharing website that supports the oEmbed standard; popular options are YouTube and Vimeo." - } - }, - "legal": { - "license": { - "label": "License", - "description": "The license the software is distributed under. It must contain a valid SPDX expression, referring to one (or multiple) Free and Open Source license. Please refer to the SPDX documentation for further information." - }, - "mainCopyrightOwner": { - "label": "Main Copyright Owner", - "description": "The entity owning the copyright on most of the code in the repository. Normally, this is the line that is reported with the copyright symbol at the top of most files in the repo." - }, - "repoOwner": { - "label": "Repository Owner", - "description": "The entity that owns this repository; this might or might not be the same entity who owns the copyright on the code itself. For instance, in case of a fork of the original software, the repoOwner is probably different from the Main Copyright Owner." - }, - "authorsFile": { - "label": "Authors File", - "description": "Some Free and Open Source software identifies the copyright holders through a file that lists all the entities that own the copyright. This is common in projects strongly backed by a community with many external contributors and no clear single/main copyright owner. In such cases, this value can be used to refer to the authors file, using a path relative to the root of the repository." - } - }, - "intendedAudience": { - "scope": { - "label": "Scope", - "description": "Public software can be very specific in scope because there is a large set of tasks that are specific to each type of administration. For instance, many softwares that are used in schools are probably not useful in hospitals. If you want to explicitly mark some software as only useful to certain types of administrations, you should add them to this value. The list of allowed values is defined in pa-types.md, and can be country-specific. This list can evolve at any time, separately from the version of this specification." - }, - "countries": { - "label": "Countries", - "description": "List of countries this software explicitly claims compliance with (fe. their processes, technologies or laws). All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes." - }, - "unsupportedCountries": { - "label": "Unsupported Countries", - "description": "List of unsupported countries. This might be the case if there is a conflict between how the software is working and a specific law, process or technology. All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes." - } - }, - "localisation": { - "localisationReady": { - "label": "Localisation Ready", - "description": "Whether the software has infrastructure in place or is otherwise designed to be multilingual. It does not need to be available in more than one language." - }, - "availableLanguages": { - "label": "Available Languages", - "description": "The list of languages the software is translated to." - } - }, - "it": { - "countryExtensionVersion": { - "label": "Country Ext. Version", - "description": "Country Extension version" - }, - "riuso": { - "codiceIPA": { - "label": "Codice iPA dell’ente (obbligatorio per Pubbliche Amministrazioni)", - "description": "Codice dell’ente all’interno dell’Indice delle Pubbliche Amministrazioni (codice iPA, https://indicepa.gov.it/)." - } - }, - "piattaforme": { - "label": "Piattaforme", - "spid": { - "label": "SPID", - "description": "Se supporta SPID - il Sistema Pubblico di Identità Digitale." - }, - "cie": { - "label": "CIE", - "description": "Se supporta la Carta di Identità Elettronica." - }, - "anpr": { - "label": "ANPR", - "description": "Se supporta ANPR, l’Anagrafe Nazionale." - }, - "pagopa": { - "label": "pagoPA", - "description": "Se supporta pagoPA." - } - }, - "conforme": { - "label": "Conforme", - "lineeGuidaDesign": { - "label": "Linee guida design", - "description": "Se è conforme alle linee guida di design." - }, - "modelloInteroperabilita": { - "label": "Interoperabile", - "description": "Se è conforme alle linee guida sull’interoperabilità. (Articolo 73 del CAD)." - }, - "misureMinimeSicurezza": { - "label": "Misure minime sicurezza", - "description": "Se è conforme alle Misure minime di sicurezza ICT per le Pubbliche amministrazioni." - }, - "gdpr": { - "label": "GDPR", - "description": "Se il software rispetta il GDPR." - } - } - }, - "maintenance": { - "type": { - "label": "Maintenance Type", - "description": "How the software is currently maintained. “internal” means that the software is internally maintained by the repository owner. ”contract” means that there is a commercial contract that binds an entity to the maintenance of the software; ”community” means that the software is currently maintained by one or more people that donate their time to the project; “none” means that the software is not actively maintained." - }, - "contacts": { - "label": "Contacts", - "description": "One or more contacts of technical people currently responsible for maintaining the software. All contacts need to be a natural person, not a company or an organisation. If somebody is acting as a representative of an institution, it must be listed within the affiliation of the contact. In case of a commercial agreement (or a chain of such agreements), specify the final entities actually contracted to deliver the maintenance. Do not specify the software owner unless it is technically involved with the maintenance of the product as well.", - "name": { - "description": "The full name of one of the technical contacts. It must be a real person; do NOT populate it with generic contact information, company departments, associations, etc.", - "label": "Name" - }, - "phone": { - "description": "Phone number (with international prefix)", - "label": "Phone" - }, - "email": { - "description": "The e-mail address of the technical contact. It must be an email address of where the technical contact can be directly reached; do NOT populate it with mailing-lists or generic contact points like info@acme.inc. ", - "label": "Email" - }, - "affiliation": { - "description": "The explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc.", - "label": "Affiliation" - } - }, - "contractors": { - "label": "Contractors", - "description": "The entity or entities, if any, that are currently contracted for maintaining the software. They can be companies, organizations, or other collective names.", - "name": { - "label": "Name", - "description": "The name of the contractor, whether it’s a company or a natural person." - }, - "until": { - "label": "Until", - "description": "The date the maintenance is going to end. In case of community maintenance, the value should not be more than 2 years in the future, and thus will need to be regularly updated as the community continues working on the project." - }, - "website": { - "label": "website", - "description": "The maintainer website. It can either point to the main institutional website, or to a more project-specific page or website." - } - } - }, - "dependsOn": { - "label": "Depends On", - "description": "System-level dependencies required to install and use this software.", - "type": { - "label": "Type" - }, - "name": { - "label": "Name", - "description": "The name of the dependency (e.g. MySQL, NFC Reader)" - }, - "versionMin": { - "label": "Version Range Min", - "description": "The first compatible version" - }, - "versionMax": { - "label": "Version Range Max", - "description": "The latest compatible version" - }, - "version": { - "label": "Exact Version", - "description": "The only major version for which the software is compatible. It assumes compatibility with all patches and bugfixes later applied to this version." - }, - "optional": { - "label": "Optional", - "description": "Whether the dependency is optional or mandatory" - } - }, - "publiccodeYmlVersion": { - "label": "publiccodeYmlVersion", - "description": "hidden field for actual publiccode version" - }, - "name": { - "label": "Name of the software", - "description": "The short public name of the product. It should be the name most people usually refer to the software. In case software has both an internal “code” name and a commercial name, use the commercial name." - }, - "releaseDate": { - "label": "Release Date", - "description": "The release date of the latest version. It is mandatory if the software has been released at least once and thus the version number is present." - }, - "url": { - "label": "Repository URL", - "description": "The unique identifier for this software. It must be the URL of the source code repository (e.g. git, svn) where the software is published. If the repository is available under multiple protocols, prefer HTTP/HTTPS URLs that don’t require user authentication." - }, - "applicationSuite": { - "label": "Application Suite", - "description": "The name of the “suite” the software belongs to." - }, - "landingURL": { - "label": "Landing Page URL", - "description": "If the URL parameter does not serve a human readable or browsable page, but only serves source code to a source control client, with this key you have an option to specify a landing page. This page, ideally, is where your users will land when they will click a button labeled something like “Go to the application source code”. In case the product provides an automated graphical installer, this URL can point to a page which contains a reference to the source code but also offers the download of such an installer." - }, - - "isBasedOn": { - "label": "Is Based On", - "description": "The URL of the original project, if this software is a variant or a fork of another software. If present, it identifies the fork as a software variant, descending from the specified repositories." - }, - "softwareVersion": { - "label": "Software Version", - "description": "The latest stable version number of the software. The version number is a string that is not meant to be interpreted and parsed but just displayed; parsers should not assume semantic versioning or any other specific version format." - }, - "logo": { - "label": "Logo", - "description": "The logo of the software. Logos should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG." - }, - "monochromeLogo": { - "label": "Logo Monochrome", - "description": "The monochromatic (black) logo. The logo should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG." - }, - "developmentStatus": { - "label": "Development Status", - "description": "Allowed values: concept, development, beta, stable, obsolete" - }, - "softwareType": { - "label": "Software Type", - "description": "Allowed values: standalone, addon, library, configurationFiles" - }, - "roadmap": { - "label": "Roadmap", - "description": "The URL of the public roadmap of the software." - }, - "platforms": { - "label": "Platforms", - "description": "List of platforms the software runs under. It describes the platforms that users will use to access and operate the software, rather than the platform the software itself runs on. Use the predefined values if possible. If the software runs on a platform for which a predefined value is not available, a different value can be used. Values: web, windows, mac, linux, ios, android. Human readable values outside this list are allowed." - }, - - "categories": { - "label": "Category", - "description": "The list of categories this software falls under." - }, - - "usedBy": { - "label": "Used By", - "description": "The list of the names of prominent public administrations (that will serve as testimonials) that are currently known to the software maintainer to be using this software. Parsers are encouraged to enhance this list also with other information that can obtain independently; for instance, a fork of a software, owned by an administration, could be used as a signal of usage of the software." - }, - "inputTypes": { - "label": "Input Types", - "description": "The list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any input, you can skip this field or use application/x.empty." - }, - "outputTypes": { - "label": "Output Types", - "description": "The list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any output, you can skip this field or use application/x.empty." - } - } - }, - "it": { - "pc": { - "description": { - "localisedName": { - "label": "Nome Localizzato", - "description": "Il nome del software in una lingua specifica. È il nome con il quale la maggioranza delle persone normalmente si riferisce al software. Nel caso in cui il software abbia sia un nome “interno” che uno commerciale, usa quello commerciale." - }, - "genericName": { - "label": "Nome Generico", - "description": "Il “Nome generico”, della categoria alla quale il software appartiene. Per esempio “Editor di Testi”, “Word Processor”, “Web Browser”, “Chat” e così via. Il nome generico può avere una lunghezza fino a 35 caratteri." - }, - "shortDescription": { - "label": "Descrizione Breve", - "description": "La breve descrizione del software. Dovrebbe essere una singola linea contenente una singola frase." - }, - "longDescription": { - "label": "Descrizione Estesa", - "description": "La descrizione lunga che fornisce una panoramica per chi userà il software (e non per chi sviluppa). Può contenere del Markdown base: *italic*, **bold**, elenchi puntati e [link](#)." - }, - "documentation": { - "label": "Documentazione", - "description": "L’URL alla documentazione lato utente (non lato sviluppatore) Questo valore deve essere una URL che punta ad una versione ospitata della documentazione. È suggerito che questa URL punti ad una versione ospitata della documentazione che sia direttamente leggibile utilizzando un comune web browser sia in formato desktop che mobile. La documentazione dovrebbe essere renderizzata in HTML e navigabile come un sito web (con un indice, una barra di ricerca, etc.). Se la documentazione dovesse invece essere disponibile esclusivamente sotto forma di documento, è possibile inserire il link diretto per vedere/scaricare tale documento, sotto forma di URL. È consigliabile trattare la documentazione come parte del codice sorgente e dunque gestirla tramite commit sul repository del codice sorgente. In questo modo, sarà possibile fornire una URL diretta alla piattaforma di hosting del codice (ad es., GitHub URL al file). È preferibile utilizzare formati aperti quali PDF o ODT per avere la massima interoperabilità. Qualunque sia il formato della documentazione, è importante ricordare di rilasciarne i sorgenti coperti da licenza aperta, possibilmente effettuandone un commit all’interno del repository stesso." - }, - "apiDocumentation": { - "label": "Documentazione API", - "description": "L‘URL alla documentazione delle API del software che sia direttamente leggibile utilizzando un comune web browser. La documentazione dovrebbe essere renderizzata in HTML e navigabile come un sito web (con un indice, una barra di ricerca, etc.), e se c’è un riferimento ad un deployment di prova, questo dovrebbe offrire un’interfaccia navigabile (e.g. Swagger).Se la documentazione dovesse invece essere disponibile esclusivamente sotto forma di documento, è possibile inserire il link diretto per vedere/scaricare tale documento, sotto forma di URL. È consigliabile trattare la documentazione come parte del codice sorgente e dunque gestirla tramite commit sul repository del codice sorgente. In questo modo, sarà possibile fornire una URL diretta alla piattaforma di hosting del codice (ad es., GitHub URL al file). È preferibile utilizzare formati aperti quali PDF o ODT per avere laQualunque sia il formato della documentazione, è importante ricordare di rilasciarne i sorgenti coperti da licenza aperta, possibilmente effettuandone un commit all’interno del repository stesso." - }, - "features": { - "label": "Funzionalità", - "description": "La lista di feature del software, che descriva le possibilità offerte dallo stesso. Il target di questo testo sono i decisori pubblici che potranno decidere di adottarlo o modificarlo. Per questo motivo, queste feature non devono riferirsi agli sviluppatori: invece di elencare le caratteristiche tecniche riferite ai dettagli implementativi, è preferibile elencare le funzionalità lato utente. Il numero di feature suggerito da elencare è tra 5 e 20, a seconda della dimensione del software e della sua complessità. Non c’è bisogno di fare una lista esaustiva, dal momento che gli utenti hanno sempre a disposizione la documentazione per reperire ulteriori informazioni.", - "value": { - "label": "Funzionalità", - "description": "" - } - }, - "awards": { - "label": "Premi", - "description": "Una lista di premi assegnati al software." - }, - "screenshots": { - "label": "Schermate", - "description": "Una o più schermate per dare una panoramica dell’aspetto del software e del suo funzionamento. Può essere il percorso relativo al file a partire dalla radice del repository, oppure un URL assoluto. In entrambi i casi, il file deve risiedere all’interno del medesimo repository che contiene il publiccode.yml." - }, - "videos": { - "label": "Video", - "description": "Uno o più URL di video che mostrano il funzionamento del software per dare una rapida panoramica sull’aspetto e le funzionalità del software. I video devono essere ospitati su una piattaforma di video sharing che supporti lo standard oEmbed; le opzioni più popolari sono YouTube e Vimeo. Dal momento che costituisce parte integrante della documentazione, è opportuno che il video sia pubblicato con una licenza aperta." - } - }, - "legal": { - "license": { - "label": "Licenza", - "description": "La licenza con cui il software è distribuito. Deve essere un’espressione SPDX valida che si riferisca ad una (o più) licenze open-source. Per avere ulteriori informazioni a riguardo è possibile visitare la documentazione SPDX." - }, - "mainCopyrightOwner": { - "label": "Principale proprietario del copyright", - "description": "L’entità che possiede il copyright sulla maggior parte del codice presente nel repository. Normalmente, questa è la linea che viene riportata con il simbolo di copyright all’inizio della maggior parte dei file nel repository. È possibile elencare diversi proprietari se necessario, usando una frase in inglese. È anche possibile riferirsi ad una community o ad un gruppo di persone come ad esempio “Linus Torvalds and all Linux contributors”." - }, - "repoOwner": { - "label": "Proprietario del repository", - "description": "L’entità che possiede il repository; questa può essere o non essere la stessa che possiede il copyright del codice stesso. Ad esempio, nel caso di un fork del software originale, il Proprietario del repository è probabilmente diverso dal principale proprietario del copyright." - }, - "authorsFile": { - "label": "File Autori", - "description": "Qualche software open-source adotta una convenzione che identifica il detentore del copyright attraverso un file elencante tutte le entità che possiedono il copyright. Questo è comune nei progetti fortemente sostenuti dalla community ove esistono diversi contributori esterni e non c’è un chiaro singolo detentore del copyright. In questi casi, si può usare questo campo per riferirsi al suddetto file degli autori, usando un percorso relativo alla radice del repository." - } - }, - "intendedAudience": { - "scope": { - "label": "Scopo", - "description": "Una lista di tag che rappresentano il campo di applicazione del software. I tag consentiti sono elencati nella Lista dei campi di applicazione." - }, - "countries": { - "label": "Paesi", - "description": "Indica in modo esplicito alcuni Paesi tra il pubblico previsto, come la conformità con processi specifici, tecnologie o leggi. Tutti i Paesi sono specificati usando country code a due lettere seguendo lo standard ISO 3166-1 alpha-2." - }, - "unsupportedCountries": { - "label": "Paesi non supportati", - "description": "Indica esplicitamente i Paesi NON supportati. Questa situazione potrebbe verificarsi nel momento in cui esista un conflitto tra la modalità di funzionamento del software ed una legge specifica, un processo o una tecnologia. Tutti i Paesi sono specificati usando country code a due lettere seguendo lo standard ISO 3166-1 alpha-2." - } - }, - "localisation": { - "localisationReady": { - "label": "Supporto alla Localizzazione", - "description": "Il software ha l’infrastruttura o è stato progettato per essere multi-lingua. Questo campo non pregiudica l’esistenza di una traduzione in altre lingue ma si riferisce esclusivamente all’aspetto tecnologico." - }, - "availableLanguages": { - "label": "Lingue Disponibili", - "description": "La lista di lingue in cui è disponibile il software." - } - }, - "it": { - "countryExtensionVersion": { - "label": "Versione Sezione Nazionale", - "description": "Versione Sezione Nazionale" - }, - "riuso": { - "codiceIPA": { - "label": "Codice iPA dell’ente (obbligatorio per Pubbliche Amministrazioni)", - "description": "Codice dell’ente all’interno dell’Indice delle Pubbliche Amministrazioni (codice iPA, https://indicepa.gov.it/)." - } - }, - "piattaforme": { - "label": "Piattaforme", - "spid": { - "label": "SPID", - "description": "Il software si interfaccia con SPID - il Sistema Pubblico di Identità Digitale." - }, - "cie": { - "label": "CIE", - "description": "Il software si interfaccia con la Carta di Identità Elettronica." - }, - "anpr": { - "label": "ANPR", - "description": "Il software si interfaccia con ANPR, l’Anagrafe Nazionale." - }, - "pagopa": { - "label": "pagoPA", - "description": "Il software si interfaccia con pagoPA." - } - }, - "conforme": { - "label": "Conforme", - "lineeGuidaDesign": { - "label": "Linee guida design", - "description": "Il software è conforme alle linee guida di design." - }, - "modelloInteroperabilita": { - "label": "Interoperabile", - "description": "Il software è conforme alle linee guida sull’interoperabilità. Riferimento normativo: Art. 73 del CAD." - }, - "misureMinimeSicurezza": { - "label": "Misure minime sicurezza", - "description": "Il software è conforme alle Misure minime di sicurezza ICT per le Pubbliche amministrazioni." - }, - "gdpr": { - "label": "GDPR", - "description": "Il software rispetta il GDPR." - } - } - }, - "maintenance": { - "type": { - "label": "Tipo Manutenzione", - "description": "Descrive come il software è attualmente manutenuto. I possibili valori sono: internal - significa che il software è manutenuto internamente dal proprietario del repository; contract - significa che c’è un contratto commerciale che lega un’entità alla manutenzione del software; community - significa che il software è attualmente manutenuto da una o più persone che offrono il loro tempo al progetto; none - significa che il software non è al momento manutenuto." - }, - "contacts": { - "label": "Contatti", - "description": "Uno o più contatti di chi sta mantenendo il software. Descrive le persone tecniche che attualmente sono responsabili della manutenzione del software. Tutti i contatti devono essere di una persona fisica, non un’azienda o un’organizzazione. Se un contatto funge da rappresentante di un’istituzione, questo rapporto deve essere esplicitato attraverso il campo Affiliazione. Nel caso di un accordo commerciale (o una catena di tali accordi), specificare le entità finali che sono effettivamente contrattate per fornire la manutenzione. Non specificare il proprietario del software a meno che sia tecnicamente coinvolto anche nella manutenzione del prodotto", - "name": { - "description": "Obbligatorio - il nome completo di uno dei contatti tecnici. Deve essere una persona reale; NON popolare questa campo con informazioni di contatto generiche, dipartimenti dell’azienda, associazioni, etc.", - "label": "Nome" - }, - "phone": { - "description": "Numero telefonico (con prefisso internazionale).", - "label": "Telefono" - }, - "email": { - "description": "L’indirizzo email del contatto tecnico. NON compilare questo campo con mailing-list o punti di contatto generico tipo “info@acme.inc”.", - "label": "Email" - }, - "affiliation": { - "description": "Informazioni esplicite sui contatti tecnici. Nel caso esistano diversi maintainer, questo valore può essere usato per creare relazioni tra diversi contatti tecnici e entità di manutenzione. Ad esempio, può contenere il nome di un’azienda, il nome di un’associazione, etc", - "label": "Affiliazione" - } - }, - "contractors": { - "label": "Contratto di Manutenzione", - "description": "L’entità o le entità, se ce ne sono, che attualmente hanno un contratto di manutenzione del software. Queste possono essere aziende, organizzazioni o altri nomi collettivi.", - "name": { - "label": "Nome", - "description": "Obbligatoria - Il nome del contractor, sia esso un’azienda o una persona fisica." - }, - "until": { - "label": "Email", - "description": "L’indirizzo email del contatto tecnico. Deve essere un indirizzo email per il contatto diretto con il tecnico; NON compilare questo campo con mailing-list o punti di contatto generico tipo “info@acme.inc”." - }, - "website": { - "label": "Website", - "description": "L’indirizzo del sito del maintainer. Può puntare al principale sito istituzionale, o ad una pagina o sito più specifica." - } - } - }, - "dependsOn": { - "label": "Dipendenze", - "description": "Ppanoramica delle dipendenze a livello di sistema necessarie per installare ed utilizzare il software. Nota bene: non elencare le dipendenze a livello di codice sorgente (ad es., librerie software usate), e focalizza solo su dipendenze di sistema e/o a runtime che devono essere installate e manutenute separatamente. Ad esempio, un database è un buon esempio di questo tipo di dipendenza.", - "type": { - "label": "Tipo" - }, - "name": { - "label": "Nome", - "description": "Obbligatorio - Il nome della dipendenza (e.g. MySQL, NFC Reader)." - }, - "versionMin": { - "label": "Versione Minima", - "description": "la prima versione compatibile;" - }, - "versionMax": { - "label": "Version Massima", - "description": "l’ultima versione compatibile;" - }, - "version": { - "label": "Versione Esatta", - "description": "l’unica versione major con la quale il software è compatibile. Si assume la compatibilità con tutte le patch e i bugfix che saranno applicati successivamente a questa versione;" - }, - "optional": { - "label": "Opzionale", - "description": "se la dipendenza è opzionale o obbligatoria." - } - }, - "publiccodeYmlVersion": { - "label": "publiccodeYmlVersion", - "description": "hidden field for actual publiccode version" - }, - "name": { - "label": "Nome del software", - "description": "Il nome del software con il quale la maggior parte delle persone si riferisce a esso. Nel caso in cui il software abbia sia un nome in “codice” interno che uno commerciale, usa il nome commerciale." - }, - "releaseDate": { - "label": "Data di rilascio", - "description": "La data di ultimo rilascio del software. Obbligatoria se il software è stato rilasciato almeno una volta e dunque esiste un numero di versione." - }, - "url": { - "label": "URL Repository", - "description": "L’URL che punta al repository di codice sorgente (git, svn, …) nel quale il software è pubblicato. Se il repository è disponibile sotto diversi protocolli, preferire URL HTTPS senza autenticazione." - }, - "applicationSuite": { - "label": "Application Suite", - "description": "Il nome della “suite” alla quale il software appartiene." - }, - "landingURL": { - "label": "URL Landing Page", - "description": "L’URL che punta a una pagina di presentazione leggibile da un utente." - }, - - "isBasedOn": { - "label": "Variante o fork di", - "description": "Nel caso in cui questo software sia una variante o un fork di un altro software, che opzionalmente può contenere un file publiccode.yml, questo valore conterrà l’URL di uno o più progetti originali." - }, - "softwareVersion": { - "label": "Versione Software", - "description": "Il numero dell’ultima versione stabile del software. Può essere omesso nel caso in cui il software sia in una fase iniziale di sviluppo e non sia stato ancora rilasciato." - }, - "logo": { - "label": "Logo", - "description": "Il logo del software. Il valore può essere il percorso relativo al file a partire dalla radice del repository, oppure un URL assoluto che punta al logo in versione raw. In entrambi i casi, il file deve risiedere all’interno del medesimo repository che contiene il publiccode.yml. Il logo dovrebbe essere in formato vettoriale; i formati raster sono solo accettabili come fallback. In questo caso, dovrebbero essere PNG trasparenti, con una larghezza minima di 1000px." - }, - "monochromeLogo": { - "label": "Logo Monocromo", - "description": "Il logo monocromatico (nero) del software. Il valore può essere il percorso relativo al file a partire dalla root del repository, oppure un URL assoluto che punta al logo in versione raw. In entrambi i casi, il file deve risiedere all’interno del medesimo repository che contiene il publiccode.yml. Il logo dovrebbe essere in formato vettoriale; i formati raster sono solo accettabili come fallback. In questo caso, dovrebbero essere PNG trasparenti, con una larghezza minima di 1000px." - }, - "developmentStatus": { - "label": "Stato Sviluppo", - "description": "Le chiavi sono: concept - Il software è solo un “concept”. Non è stato sviluppato codice e il repository potrebbe semplicemente essere un placeholder. development - Qualche sforzo è stato fatto in direzione dello sviluppo del software ma il codice non è pronto per l’utenza finale, nemmeno in una versione preliminare (beta o alpha) per essere testato dall’utenza. beta - Il software è in fase di testing (alpha o beta). In questo stage, il software potrebbe aver o non aver ancora avuto una release pubblica preliminare. stable - Il software ha già avuto una prima release pubblica ed è pronto per essere usato in un contesto di produzione. obsolete - Il software non è più manutenuto o aggiornato. Tutto il codice sorgente è archiviato e tenuto per ragioni di storico." - }, - "softwareType": { - "label": "Tipo Software", - "description": "Valori possibili: standalone, addon, library, configurationFiles" - }, - "roadmap": { - "label": "Roadmap", - "description": "Un link a una roadmap pubblica del software." - }, - "platforms": { - "label": "Piattaforme", - "description": "La piattaforma su cui funziona il software è disponibile. È pensata per descrivere le piattaforme che l’utente userà per accedere ed utilizzare il software, piuttosto che la piattaforma sul quale il software gira. Se possibile, usare i valori predefiniti. Se il software gira su una piattaforma per la quale un valore predefinito non è disponibile, un diverso valore può essere usato." - }, - - "categories": { - "label": "Categorie", - "description": "Una lista di parole che possono essere usate per descrivere il software e possono aiutare a costruire il catalogo di software open. Il vocabolario controllato Lista delle categorie di software presenta la lista dei valori accettabili." - }, - - "usedBy": { - "label": "Usato Da", - "description": "Una lista di nome di prominenti Pubbliche Amministrazioni (che serviranno come “testimonial”) che il maintainer riconosce come utilizzatori attuali di questo software.I parser sono incoraggiati ad accrescere questa lista anche con altre informazioni che riescono ad ottenere in modo indipendente; ad esempio, il fork di un software, di proprietà di un’amministrazione, può essere usato come un segnale di uso del software." - }, - "inputTypes": { - "label": "Input Types", - "description": "Una lista di Media Types (MIME Types), come specificato dal RFC 6838, che possono essere gestiti in input dall’applicazione. Nel caso in cui il software non supporti alcun input, è possibile saltare questo campo o usare application/x.empty." - }, - "outputTypes": { - "label": "Output Types", - "description": "Una lista di Media Types (MIME Types), come specificato dal RFC 6838, che possono essere gestiti in output dall’applicazione. Nel caso in cui il software non supporti alcun output, è possibile saltare questo campo o usare application/x.empty." - } - } - } -} diff --git a/src/i18n/translations.json b/src/i18n/translations.json deleted file mode 100644 index 007a2ecd..00000000 --- a/src/i18n/translations.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "en": { - "translation": { - "editor": { - "cancel": "Cancel", - "title": "publiccode.yml Editor", - "needhelp": "Need Help?", - "lastgeneration": "Last generation", - "addlanguage": "add language to the publiccode.yml file...", - "readmore": "Read more", - "nocodegenerated": "No code generated", - "copy": "Copia", - "copytext": "Copied to clipboard", - "download": "Download", - "genericerror": "There are some errors", - "success": "Success!", - "browsefile": "Browse file from disk", - "browse": "Browse", - "pastefile": "Paste remote publiccode.yaml url", - "load": "Load", - "notvalidurl": "Not a valid url", - "filenotsupported": "File type not supported", - "errors": { - "yamlloading": "Error loading yaml" - }, - "form": { - "reset": "Reset", - "validate": "Validate", - "generate": "Generate", - "addnew": "Add new", - "overwrite": "Overwrite form", - "overwritetext": "This operation will erase all data" - }, - "sections": { - "name": "Name", - "repository-and-documentation": "Repository & Documentation", - "software-details": "Software Details", - "legal-and-reuse": "Legal & Reuse", - "description-and-features": "Description & Features", - "logo-and-screenshots": "Logo & Screenshots", - "purpose-and-audience": "Purpose & Audience", - "maintenance": "Maintainance" - } - }, - "validation": { - "inprogress": "Validation in progress" - } - } - }, - "it": { - "translation": { - "editor": { - "cancel": "Annulla", - "title": "publiccode.yml Editor", - "needhelp": "Aiuto?", - "lastgeneration": "Ultimo aggiornamento", - "addlanguage": "aggiungi lingua al file publiccode.yml...", - "readmore": "Leggi di più", - "nocodegenerated": "Nessun publiccode generato", - "copy": "Copia", - "copytext": "Copiato negli appunti", - "download": "Scarica", - "genericerror": "Ci sono degli errori", - "success": "Ottimo!", - "browsefile": "Carica il file dal disco", - "browse": "Upload", - "pastefile": "Incolla l'URL del tuo publiccode.yaml", - "load": "Carica", - "notvalidurl": "URL non valido!", - "filenotsupported": "File non supportato", - "errors": { - "yamlloading": "Errore nel caricamento dello yaml" - }, - "form": { - "reset": "Reset", - "validate": "Valida", - "generate": "Genera", - "addnew": "Aggiungi", - "overwrite": "Sovrascrivi form", - "overwritetext": "Questa operazione cancellerà tutti i dati già inseriti" - }, - "sections": { - "name": "Nome", - "repository-and-documentation": "Repository & Documentazione", - "software-details": "Dettagli Software", - "legal-and-reuse": "Legal & Riuso", - "description-and-features": "Descrizione & Funzionalità", - "logo-and-screenshots": "Logo & Screenshots", - "purpose-and-audience": "Scopo & Audience", - "maintenance": "Maintainance" - } - }, - "validation": { - "inprogress": "Validazione in corso" - } - } - } -}