From 75c5f9c80aef113243c8e9e2fcc532101202762f Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Wed, 15 Oct 2025 13:17:54 +0200 Subject: [PATCH 01/19] feat: add optional group to select options --- src/app/components/EditorSelect.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/components/EditorSelect.tsx b/src/app/components/EditorSelect.tsx index b10e4cc4..2ea1b04d 100644 --- a/src/app/components/EditorSelect.tsx +++ b/src/app/components/EditorSelect.tsx @@ -13,8 +13,8 @@ import PublicCode from "../contents/publiccode"; type Props = { fieldName: T; required?: boolean; - data: Array<{ value: string; text: string }>; - filter?: Filter<{ value: string; text: string }>; + data: Array<{ value: string; text: string; group?: string }>; + filter?: Filter<{ value: string; text: string; group?: string }>; }; export default function EditorSelect< @@ -52,6 +52,7 @@ export default function EditorSelect< dataKey="value" textField="text" filter={filter} + groupBy={"group"} /> {description} {errorMessage && ( From e5f3cc4198e24c2e65b6b86cffc3e975153b8cd5 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Wed, 15 Oct 2025 17:11:23 +0200 Subject: [PATCH 02/19] feat: add translations --- src/i18n/locales/de.json | 4 ++++ src/i18n/locales/en.json | 4 ++++ src/i18n/locales/fr.json | 4 ++++ src/i18n/locales/it.json | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index 3582c5f6..201254f1 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -323,6 +323,10 @@ "label": "Landingpage-URL", "description": "Wenn der URL-Parameter keine für Menschen lesbare oder durchsuchbare Seite bereitstellt, sondern nur Quellcode für einen Quellcodeverwaltungsclient, haben Sie mit diesem Schlüssel die Möglichkeit, eine Landingpage anzugeben. Diese Seite ist idealerweise der Ort, an dem Ihre Benutzer landen, wenn sie auf eine Schaltfläche klicken, die mit „Zum Anwendungsquellcode gehen“ oder ähnlich beschriftet ist. Falls das Produkt ein automatisiertes grafisches Installationsprogramm bereitstellt, kann diese URL auf eine Seite verweisen, die einen Verweis auf den Quellcode enthält, aber auch den Download eines solchen Installationsprogramms anbietet." }, + "organisationURI": { + "label": "Organisations-URI", + "description": "Die URI der Organisation, die die Software betreut." + }, "isBasedOn": { "label": "Basiert auf", "description": "Die URL des ursprünglichen Projekts, wenn diese Software eine Variante oder ein Fork einer anderen Software ist. Falls vorhanden, identifiziert sie den Fork als Softwarevariante, die von den angegebenen Repositorys abgeleitet ist." diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 1de86e15..ceab5548 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -339,6 +339,10 @@ "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." }, + "organisationURI": { + "label": "Organisation URI", + "description": "The URI of the organisation that maintains the software." + }, "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." diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index a97a831c..51a8a9ea 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -336,6 +336,10 @@ "label": "URL de la page d'accueil", "description": "Si le paramètre url ne conduit pas à une page lisible ou navigable, mais conduit uniquement au code source pour un agent de contrôle de la source, cette clé vous permet de spécifier une page de destination. Idéalement, c'est sur cette page que vos utilisateurs atterriront lorsqu'ils cliqueront sur un bouton intitulé “Aller au code source de l'application”. Dans le cas où le produit fournit un installateur graphique automatisé, cette URL peut pointer vers une page qui contient une référence au code source mais offre également le téléchargement d'un tel installateur." }, + "organisationURI": { + "label": "URI de l'organisation", + "description": "L'URI de l'organisation qui maintient le logiciel." + }, "isBasedOn": { "label": "Est Basé Sur", "description": "Dans le cas où ce logiciel est une variante ou un fork d'un autre logiciel, qui peut ou non contenir un fichier publiccode.yml, cette clé contiendra l'url du ou des projets originaux. L'existence de cette clé identifie le fork comme une variante du logiciel, descendant des dépôts spécifiés." diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 6328b20b..a58c4c17 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -340,6 +340,10 @@ "label": "URL Landing Page", "description": "L’URL che punta a una pagina di presentazione leggibile da un utente." }, + "organisationURI": { + "label": "URI dell'organizzazione", + "description": "L'URI dell'organizzazione che mantiene il software." + }, "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." From 60860cffae065f0d4927d00c21fe0b4faba357b4 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Wed, 15 Oct 2025 17:11:55 +0200 Subject: [PATCH 03/19] feat: add organization data --- src/app/data/organizations.json | 779 ++++++++++++++++++++++++++++++++ 1 file changed, 779 insertions(+) create mode 100644 src/app/data/organizations.json diff --git a/src/app/data/organizations.json b/src/app/data/organizations.json new file mode 100644 index 00000000..d9a8e13b --- /dev/null +++ b/src/app/data/organizations.json @@ -0,0 +1,779 @@ +[ + { + "id": "https://ld.admin.ch/department/I", + "name": { + "de": "Eidgenössisches Departement für auswärtige Angelegenheiten", + "fr": "Département fédéral des affaires étrangères", + "it": "Dipartimento federale degli affari esteri" + }, + "abbreviation": { + "de": "EDA", + "fr": "DFAE", + "it": "DFAE" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/I.1.5", + "name": { + "de": "Direktion für Entwicklung und Zusammenarbeit", + "fr": "Direction du développement et de la coopération", + "it": "Direzione dello sviluppo e della cooperazione" + } + }, + { + "id": "https://ld.admin.ch/office/I.1.7", + "name": { + "de": "Direktion für Ressourcen", + "fr": "Direction des ressources", + "it": "Direzione delle risorse" + } + }, + { + "id": "https://ld.admin.ch/office/I.1.8", + "name": { + "de": "Konsularische Direktion", + "fr": "Direction consulaire", + "it": "Direzione consolare" + } + }, + { + "id": "https://ld.admin.ch/office/I.1.1", + "name": { + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale" + } + }, + { + "id": "https://ld.admin.ch/office/I.1.2", + "name": { + "de": "Staatssekretariat EDA", + "fr": "Secrétariat d'État du DFAE", + "it": "Segreteria di Stato del DFAE" + } + }, + { + "id": "https://ld.admin.ch/office/I.1.4", + "name": { + "de": "Direktion für Völkerrecht", + "fr": "Direction du droit international public", + "it": "Direzione del diritto internazionale pubblico" + } + } + ] + }, + { + "id": "https://ld.admin.ch/department/II", + "name": { + "de": "Eidgenössisches Departement des Innern", + "fr": "Département fédéral de l'intérieur", + "it": "Dipartimento federale dell'interno" + }, + "abbreviation": { + "de": "EDI", + "fr": "DFI", + "it": "DFI" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/II.1.8", + "name": { + "de": "Bundesamt für Sozialversicherungen", + "fr": "Office fédéral des assurances sociales", + "it": "Ufficio federale delle assicurazioni sociali" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.9", + "name": { + "de": "Bundesamt für Lebensmittelsicherheit und Veterinärwesen", + "fr": "Office fédéral de la sécurité alimentaire et des affaires vétérinaires", + "it": "Ufficio federale della sicurezza alimentare e di veterinaria" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.7", + "name": { + "de": "Bundesamt für Statistik", + "fr": "Office fédéral de la statistique", + "it": "Ufficio federale di statistica" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.6", + "name": { + "de": "Bundesamt für Gesundheit", + "fr": "Office fédéral de la santé publique", + "it": "Ufficio federale della sanità pubblica" + } + }, + { + "id": "https://ld.admin.ch/office/II.2.2.3", + "name": { + "de": "Schweizerisches Heilmittelinstitut", + "fr": "Institut suisse des produits thérapeutiques", + "it": "Istituto svizzero per gli agenti terapeutici" + } + }, + { + "id": "https://ld.admin.ch/office/II.2.2.4", + "name": { + "de": "Ausgleichsfonds AHV/IV/EO", + "fr": "Fonds de compensation AVS/AI/APG", + "it": "Fondi di compensazione AVS/AI/IPG" + } + }, + { + "id": "https://ld.admin.ch/office/II.2.2.1", + "name": { + "de": "Schweizerisches Nationalmuseum", + "fr": "Musée national suisse", + "it": "Museo nazionale svizzero" + } + }, + { + "id": "https://ld.admin.ch/office/II.2.2.2", + "name": { + "de": "Pro Helvetia", + "fr": "Pro Helvetia", + "it": "Pro Helvetia" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.2", + "name": { + "de": "Eidgenössisches Büro für die Gleichstellung von Frau und Mann", + "fr": "Bureau fédéral de l'égalité entre femmes et hommes", + "it": "Ufficio federale per l'uguaglianza fra donna e uomo" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.3", + "name": { + "de": "Bundesamt für Kultur", + "fr": "Office fédéral de la culture", + "it": "Ufficio federale della cultura" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.1", + "name": { + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.5", + "name": { + "de": "Bundesamt für Meteorologie und Klimatologie", + "fr": "Office fédéral de météorologie et de climatologie", + "it": "Ufficio federale di meteorologia e climatologia" + } + }, + { + "id": "https://ld.admin.ch/office/II.1.4", + "name": { + "de": "Schweizerisches Bundesarchiv", + "fr": "Archives fédérales suisses", + "it": "Archivio federale svizzero" + } + } + ] + }, + { + "id": "https://ld.admin.ch/department/III", + "name": { + "de": "Eidgenössisches Justiz- und Polizeidepartement", + "fr": "Département fédéral de justice et police", + "it": "Dipartimento federale di giustizia e polizia" + }, + "abbreviation": { + "de": "EJPD", + "fr": "DFJP", + "it": "DFGP" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/III.1.1", + "name": { + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale" + } + }, + { + "id": "https://ld.admin.ch/office/III.1.2", + "name": { + "de": "Bundesamt für Justiz", + "fr": "Office fédéral de la justice", + "it": "Ufficio federale di giustizia" + } + }, + { + "id": "https://ld.admin.ch/office/III.1.3", + "name": { + "de": "Bundesamt für Polizei", + "fr": "Office fédéral de la police", + "it": "Ufficio federale di polizia" + } + }, + { + "id": "https://ld.admin.ch/office/III.2.2.1", + "name": { + "de": "Schweizerisches Institut für Rechtsvergleichung", + "fr": "Institut suisse de droit comparé", + "it": "Istituto svizzero di diritto comparato" + } + }, + { + "id": "https://ld.admin.ch/office/III.2.2.2", + "name": { + "de": "Eidgenössisches Institut für Geistiges Eigentum", + "fr": "Institut Fédéral de la Propriété Intellectuelle", + "it": "Istituto Federale della Proprietà Intellettuale" + } + }, + { + "id": "https://ld.admin.ch/office/III.1.4", + "name": { + "de": "Staatssekretariat für Migration", + "fr": "Secrétariat d'État aux migrations", + "it": "Segreteria di Stato della migrazione" + } + }, + { + "id": "https://ld.admin.ch/office/III.2.1.2", + "name": { + "de": "Dienst Überwachung Post- und Fernmeldeverkehr", + "fr": "Service Surveillance de la correspondance par poste et télécommunication", + "it": "Servizio Sorveglianza della corrispondenza postale e del traffico delle telecomunicazioni" + } + }, + { + "id": "https://ld.admin.ch/office/III.2.1.3", + "name": { + "de": "Kommission zur Verhütung von Folter", + "fr": "Commission de prévention de la torture", + "it": "Commissione per la prevenzione della tortura" + } + }, + { + "id": "https://ld.admin.ch/office/III.2.2.3", + "name": { + "de": "Eidgenössische Revisionsaufsichtsbehörde", + "fr": "Autorité fédérale de surveillance en matière de révision", + "it": "Autorità federale di sorveglianza dei revisori" + } + }, + { + "id": "https://ld.admin.ch/office/III.2.2.4", + "name": { + "de": "Ausgleichsfonds AHV/IV/EO", + "fr": "Fonds de compensation AVS/AI/APG", + "it": "Fondi di compensazione AVS/AI/IPG" + } + } + ] + }, + { + "id": "https://ld.admin.ch/department/IV", + "name": { + "de": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport", + "fr": "Département fédéral de la défense, de la protection de la population et des sports", + "it": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "abbreviation": { + "de": "VBS", + "fr": "DDPS", + "it": "DDPS" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/IV.1.1", + "name": { + "de": "Generalsekretariat VBS", + "fr": "Secrétariat général DDPS", + "it": "Segreteria generale DDPS" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.1a", + "name": { + "de": "Recht", + "fr": "Droit", + "it": "Diritto" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.2", + "name": { + "de": "Bundesamt für Rüstung", + "fr": "Office fédéral de l'armement", + "it": "Ufficio federale dell'armamento" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.3", + "name": { + "de": "Oberauditorat", + "fr": "Office de l'auditeur en chef", + "it": "Ufficio dell'uditore in capo" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.4", + "name": { + "de": "Gruppe Verteidigung", + "fr": "Groupement Défense", + "it": "Aggruppamento Difesa" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.5", + "name": { + "de": "Bundesamt für Umwelt", + "fr": "Office fédéral de l'environnement", + "it": "Ufficio federale dell'ambiente" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.5a", + "name": { + "de": "Bundesamt für Landestopografie", + "fr": "Office fédéral de topographie", + "it": "Ufficio federale di topografia" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.6", + "name": { + "de": "Bundesamt für Bevölkerungsschutz", + "fr": "Office fédéral de la protection de la population", + "it": "Ufficio federale della protezione della popolazione" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.7", + "name": { + "de": "Bundesamt für Zivilluftfahrt", + "fr": "Office fédéral de l'aviation civile", + "it": "Ufficio federale dell'aviazione civile" + } + }, + { + "id": "https://ld.admin.ch/office/IV.1.8", + "name": { + "de": "Bundesamt für Verkehr", + "fr": "Office fédéral des transports", + "it": "Ufficio federale dei trasporti" + } + }, + { + "id": "https://ld.admin.ch/office/IV.2.1.1", + "name": { + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale" + } + } + ] + }, + { + "id": "https://ld.admin.ch/department/V", + "name": { + "de": "Eidgenössisches Finanzdepartement", + "fr": "Département fédéral des finances", + "it": "Dipartimento federale delle finanze" + }, + "abbreviation": { + "de": "EFD", + "fr": "DFF", + "it": "DFF" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/V.1.1", + "name": { + "de": "Generalsekretariat EFD", + "fr": "Secrétariat général DFF", + "it": "Segreteria generale DFF" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.2", + "name": { + "de": "Eidgenössische Finanzverwaltung", + "fr": "Administration fédérale des finances", + "it": "Amministrazione federale delle finanze" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.3", + "name": { + "de": "Eidgenössische Steuerverwaltung", + "fr": "Administration fédérale des contributions", + "it": "Amministrazione federale delle contribuzioni" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.4", + "name": { + "de": "Eidgenössische Zollverwaltung", + "fr": "Administration fédérale des douanes", + "it": "Amministrazione federale delle dogane" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.5", + "name": { + "de": "Eidgenössische Finanzmarktaufsicht", + "fr": "Autorité fédérale de surveillance des marchés financiers", + "it": "Autorità federale di vigilanza sui mercati finanziari" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.6", + "name": { + "de": "Eidgenössische Alkoholverwaltung", + "fr": "Administration fédérale des alcools", + "it": "Amministrazione federale degli alcool" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.7", + "name": { + "de": "Bundesamt für Informatik und Telekommunikation", + "fr": "Office fédéral de l'informatique et de la télécommunication", + "it": "Ufficio federale dell'informatica e della telecomunicazione" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.8", + "name": { + "de": "Bundesamt für Bauten und Logistik", + "fr": "Office fédéral des constructions et de la logistique", + "it": "Ufficio federale delle costruzioni e della logistica" + } + }, + { + "id": "https://ld.admin.ch/office/V.1.9", + "name": { + "de": "Informatiksteuerungsorgan des Bundes", + "fr": "Unité de pilotage informatique de la Confédération", + "it": "Organo direzione informatica della Confederazione" + } + }, + { + "id": "https://ld.admin.ch/office/V.2.1.1", + "name": { + "de": "Eidgenössische Finanzkontrolle", + "fr": "Contrôle fédéral des finances", + "it": "Controllo federale delle finanze" + } + }, + { + "id": "https://ld.admin.ch/office/V.2.2.1", + "name": { + "de": "Eidgenössische Finanzmarktaufsicht", + "fr": "Autorité fédérale de surveillance des marchés financiers", + "it": "Autorità federale di vigilanza sui mercati finanziari" + } + }, + { + "id": "https://ld.admin.ch/office/V.2.2.2", + "name": { + "de": "Pensionskasse des Bundes", + "fr": "Caisse fédérale de pensions", + "it": "Cassa pensioni della Confederazione" + } + } + ] + }, + { + "id": "https://ld.admin.ch/department/VI", + "name": { + "de": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung", + "fr": "Département fédéral de l'économie, de la formation et de la recherche", + "it": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "abbreviation": { + "de": "WBF", + "fr": "DEFR", + "it": "DEFR" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/VI.1.1", + "name": { + "de": "Staatssekretariat für Wirtschaft", + "fr": "Secrétariat d'État à l'économie", + "it": "Segreteria di Stato dell'economia" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.2", + "name": { + "de": "Staatssekretariat für Bildung, Forschung und Innovation", + "fr": "Secrétariat d'État à la formation, à la recherche et à l'innovation", + "it": "Segreteria di Stato per la formazione, la ricerca e l'innovazione" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.5", + "name": { + "de": "Bundesamt für Landwirtschaft", + "fr": "Office fédéral de l'agriculture", + "it": "Ufficio federale dell'agricoltura" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.7", + "name": { + "de": "Bundesamt für wirtschaftliche Landesversorgung", + "fr": "Office fédéral pour l'approvisionnement économique du pays", + "it": "Ufficio federale per l'approvvigionamento economico del Paese" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.3", + "name": { + "de": "Bundesamt für Messwesen", + "fr": "Office fédéral de métrologie", + "it": "Ufficio federale di metrologia" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.8", + "name": { + "de": "Bundesamt für Wohnungswesen", + "fr": "Office fédéral du logement", + "it": "Ufficio federale delle abitazioni" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.4", + "name": { + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale" + } + }, + { + "id": "https://ld.admin.ch/office/VI.1.9", + "name": { + "de": "Bundesamt für Berufsbildung und Technologie", + "fr": "Office fédéral de la formation professionnelle et de la technologie", + "it": "Ufficio federale della formazione professionale e della tecnologia" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.1.1", + "name": { + "de": "Bereich der Eidgenössischen Technischen Hochschulen", + "fr": "Domaine des écoles polytechniques fédérales", + "it": "Settore dei politecnici federali" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.1", + "name": { + "de": "Schweiz Tourismus", + "fr": "Suisse Tourisme", + "it": "Svizzera Turismo" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.2", + "name": { + "de": "Schweizerische Gesellschaft für Hotelkredit", + "fr": "Société suisse de crédit hôtelier", + "it": "Società svizzera di credito alberghiero" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.3", + "name": { + "de": "Schweizerische Exportrisikoversicherung", + "fr": "Assurance suisse contre les risques à l'exportation", + "it": "Assicurazione svizzera contro i rischi delle esportazioni" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.4", + "name": { + "de": "Schweizerische Nationalbank", + "fr": "Banque nationale suisse", + "it": "Banca nazionale svizzera" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.5", + "name": { + "de": "Eidgenössische Bankenkommission", + "fr": "Commission fédérale des banques", + "it": "Commissione federale delle banche" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.6", + "name": { + "de": "Eidgenössische Spielbankenkommission", + "fr": "Commission fédérale des maisons de jeu", + "it": "Commissione federale delle case da gioco" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.7", + "name": { + "de": "Eidgenössische Elektrizitätskommission", + "fr": "Commission fédérale de l'électricité", + "it": "Commissione federale dell'elettricità" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.8", + "name": { + "de": "Eidgenössische Wettbewerbskommission", + "fr": "Commission de la concurrence", + "it": "Commissione della concorrenza" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.9", + "name": { + "de": "Eidgenössische Materialprüfungs- und Forschungsanstalt", + "fr": "Laboratoire fédéral d'essai des matériaux et de recherche", + "it": "Laboratorio federale di prova dei materiali e di ricerca" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.10", + "name": { + "de": "Eidgenössische Anstalt für Wasserversorgung, Abwasserreinigung und Gewässerschutz", + "fr": "Institut fédéral pour l'aménagement, l'épuration et la protection des eaux", + "it": "Istituto federale per l'approvvigionamento, la depurazione e la protezione delle acque" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.2.11", + "name": { + "de": "Schweizerische Agentur für Innovationsförderung", + "fr": "Agence suisse pour l'encouragement de l'innovation", + "it": "Agenzia svizzera per la promozione dell'innovazione" + } + }, + { + "id": "https://ld.admin.ch/office/VI.2.3.1", + "name": { + "de": "Schweizerischer Nationalfonds zur Förderung der wissenschaftlichen Forschung", + "fr": "Fonds national suisse de la recherche scientifique", + "it": "Fondo nazionale svizzero per la ricerca scientifica" + } + } + ] + }, + { + "id": "https://ld.admin.ch/department/VII", + "name": { + "de": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation", + "fr": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication", + "it": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "abbreviation": { + "de": "UVEK", + "fr": "DETEC", + "it": "DATEC" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/office/VII.1.1", + "name": { + "de": "Generalsekretariat UVEK", + "fr": "Secrétariat général DETEC", + "it": "Segreteria generale DATEC" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.2", + "name": { + "de": "Bundesamt für Umwelt", + "fr": "Office fédéral de l'environnement", + "it": "Ufficio federale dell'ambiente" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.3", + "name": { + "de": "Bundesamt für Verkehr", + "fr": "Office fédéral des transports", + "it": "Ufficio federale dei trasporti" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.4", + "name": { + "de": "Bundesamt für Kommunikation", + "fr": "Office fédéral de la communication", + "it": "Ufficio federale delle comunicazioni" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.5", + "name": { + "de": "Bundesamt für Energie", + "fr": "Office fédéral de l'énergie", + "it": "Ufficio federale dell'energia" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.6", + "name": { + "de": "Bundesamt für Raumentwicklung", + "fr": "Office fédéral du développement territorial", + "it": "Ufficio federale dello sviluppo territoriale" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.7", + "name": { + "de": "Bundesamt für Meteorologie und Klimatologie", + "fr": "Office fédéral de météorologie et de climatologie", + "it": "Ufficio federale di meteorologia e climatologia" + } + }, + { + "id": "https://ld.admin.ch/office/VII.1.8", + "name": { + "de": "Bundesamt für Strassen", + "fr": "Office fédéral des routes", + "it": "Ufficio federale delle strade" + } + }, + { + "id": "https://ld.admin.ch/office/VII.2.2.1", + "name": { + "de": "Eidgenössische Natur- und Heimatschutzkommission", + "fr": "Commission fédérale pour la protection de la nature et du paysage", + "it": "Commissione federale per la protezione della natura e del paesaggio" + } + }, + { + "id": "https://ld.admin.ch/office/VII.2.2.2", + "name": { + "de": "Eidgenössische Kommission für Lufthygiene", + "fr": "Commission fédérale de l'hygiène de l'air", + "it": "Commissione federale per l'igiene dell'aria" + } + }, + { + "id": "https://ld.admin.ch/office/VII.2.2.3", + "name": { + "de": "Eidgenössische Kommission für biologische Sicherheit", + "fr": "Commission fédérale pour la sécurité biologique", + "it": "Commissione federale per la sicurezza biologica" + } + } + ] + } +] From 9a3c73a3e3270401d242e84b4505ba3b93d21980 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Wed, 15 Oct 2025 17:12:21 +0200 Subject: [PATCH 04/19] feat: add organization select (poc) --- src/app/components/Editor.tsx | 17 ++++++++++++++++- src/app/contents/fields/generic.ts | 10 ++++++++++ src/app/contents/publiccode.ts | 1 + 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/app/components/Editor.tsx b/src/app/components/Editor.tsx index 83ffd6f7..8ce8a238 100644 --- a/src/app/components/Editor.tsx +++ b/src/app/components/Editor.tsx @@ -12,6 +12,7 @@ import useFormPersist from "react-hook-form-persist"; import { useTranslation } from "react-i18next"; import { RequiredDeep } from "type-fest"; import licenses from "../../generated/licenses.json"; +import organizationData from "../data/organizations.json"; import { allLangs, displayName } from "../../i18n"; import categories from "../contents/categories"; import { DEFAULT_COUNTRY_SECTIONS } from "../contents/constants"; @@ -149,7 +150,7 @@ const isNotTheSameVersion = (version1: string, version2: string) => { export default function Editor() { //#region UI - const { t } = useTranslation(); + const { t, i18n } = useTranslation(); const { countrySections } = useCountryStore(); const { resetWarnings, setWarnings } = useWarningStore(); const { @@ -164,6 +165,14 @@ export default function Editor() { const { languages, setLanguages, resetLanguages } = useLanguagesStore(); const { setCountrySections } = useCountryStore(); + const organizations = organizationData.flatMap(data => + data.organizations.map(organization => ({ + text: organization.name[i18n.language as keyof typeof organization.name] || organization.name.de, + value: organization.id, + group: data.name[i18n.language as keyof typeof data.name] || data.name.de, + })) + ); + const getNestedValue = ( obj: PublicCodeWithDeprecatedFields, path: string @@ -534,6 +543,12 @@ export default function Editor() { fieldName="landingURL" /> +
+ + fieldName="organisationURI" + data={organizations} + /> +
fieldName="isBasedOn" /> diff --git a/src/app/contents/fields/generic.ts b/src/app/contents/fields/generic.ts index 355e50ec..78668c41 100644 --- a/src/app/contents/fields/generic.ts +++ b/src/app/contents/fields/generic.ts @@ -79,6 +79,16 @@ const fields = (): Array => { section: 1, widget: "url", }, + { + type: "array", + title: "organizations", + section: 0, + items: { + type: "string", + enum: [], + }, + widget: "combobox", + }, { title: "localisedName", type: "string", diff --git a/src/app/contents/publiccode.ts b/src/app/contents/publiccode.ts index cc023d7c..23d8f8a3 100644 --- a/src/app/contents/publiccode.ts +++ b/src/app/contents/publiccode.ts @@ -13,6 +13,7 @@ export default interface PublicCode { applicationSuite?: string; url: string; landingURL?: string; + organisationURI?: string; isBasedOn?: string; softwareVersion?: string; releaseDate?: string; // “YYYY-MM-DD” From 6ee57a2b853efb21470050556f57b853c5497ec1 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Thu, 16 Oct 2025 10:21:20 +0200 Subject: [PATCH 05/19] feat: add bundeskanzlei and readme to data --- src/app/data/README.md | 15 +++++++++++++++ src/app/data/organizations.json | 25 ++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/app/data/README.md diff --git a/src/app/data/README.md b/src/app/data/README.md new file mode 100644 index 00000000..383ab5bb --- /dev/null +++ b/src/app/data/README.md @@ -0,0 +1,15 @@ +# Data + +## Organizations + +The data in the file `organization.json` originates from the following sources: + +- The seven departements and the Federal Chancellery +``` +https://ld.admin.ch/sparql/#query=PREFIX%20schema%3A%20%3Chttp%3A%2F%2Fschema.org%2F%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%0ASELECT%20DISTINCT%20%3Fdepartment%20%3FnameDepDe%20%3FnameDepFr%20%3FnameDepIt%20%3FnameDepEn%20%3FaltNameDepDe%20%3FaltNameDepFr%20%3FaltNameDepIt%20%3FaltNameDepEn%20%3Foffice%20%3FnameDe%20%3FnameFr%20%3FnameIt%20%3FnameEn%20WHERE%20%7B%0A%20%20%0A%20%20%3Fdepartment%20schema%3AinDefinedTermSet%20%3Chttps%3A%2F%2Fld.admin.ch%2Fdimension%2Fdepartment%3E.%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDe.%20FILTER(lang(%3FnameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameFr.%20FILTER(lang(%3FnameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameIt.%20FILTER(lang(%3FnameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameEn.%20FILTER(lang(%3FnameEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDe.%20FILTER(lang(%3FaltNameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameFr.%20FILTER(lang(%3FaltNameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameIt.%20FILTER(lang(%3FaltNameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameEn.%20FILTER(lang(%3FaltNameEn)%20%3D%20%22en%22)%20%7D%0A%20%20%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepDe.%20FILTER(lang(%3FnameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepFr.%20FILTER(lang(%3FnameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepIt.%20FILTER(lang(%3FnameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepEn.%20FILTER(lang(%3FnameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepDe.%20FILTER(lang(%3FaltNameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepFr.%20FILTER(lang(%3FaltNameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepIt.%20FILTER(lang(%3FaltNameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepEn.%20FILTER(lang(%3FaltNameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%7D%0A&endpoint=https%3A%2F%2Fld.admin.ch%2Fquery&requestMethod=POST&tabTitle=Query&headers=%7B%7D&contentTypeConstruct=text%2Fturtle&contentTypeSelect=application%2Fsparql-results%2Bjson&outputFormat=table&outputSettings=%7B%22isEllipsed%22%3Atrue%2C%22compact%22%3Afalse%7D +``` + +- All offices of the seven departments +``` +https://ld.admin.ch/sparql/#query=PREFIX%20schema%3A%20%3Chttp%3A%2F%2Fschema.org%2F%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%0ASELECT%20DISTINCT%20%3Fdepartment%20%3FnameDepDe%20%3FnameDepFr%20%3FnameDepIt%20%3FnameDepEn%20%3FaltNameDepDe%20%3FaltNameDepFr%20%3FaltNameDepIt%20%3FaltNameDepEn%20%3Foffice%20%3FnameDe%20%3FnameFr%20%3FnameIt%20%3FnameEn%20WHERE%20%7B%0A%20%0A%20%20%3Foffice%20schema%3AinDefinedTermSet%20%3Chttps%3A%2F%2Fld.admin.ch%2Foffice%3E.%0A%20%20%3Foffice%20schema%3AparentOrganization%20%3Fdepartment.%0A%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameDe.%20FILTER(lang(%3FnameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameFr.%20FILTER(lang(%3FnameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameIt.%20FILTER(lang(%3FnameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameEn.%20FILTER(lang(%3FnameEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameDe.%20FILTER(lang(%3FaltNameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameFr.%20FILTER(lang(%3FaltNameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameIt.%20FILTER(lang(%3FaltNameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameEn.%20FILTER(lang(%3FaltNameEn)%20%3D%20%22en%22)%20%7D%0A%20%20%0A%20%20%3Fdepartment%20schema%3AinDefinedTermSet%20%3Chttps%3A%2F%2Fld.admin.ch%2Fdepartment%3E.%0A%20%20%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepDe.%20FILTER(lang(%3FnameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepFr.%20FILTER(lang(%3FnameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepIt.%20FILTER(lang(%3FnameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepEn.%20FILTER(lang(%3FnameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepDe.%20FILTER(lang(%3FaltNameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepFr.%20FILTER(lang(%3FaltNameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepIt.%20FILTER(lang(%3FaltNameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepEn.%20FILTER(lang(%3FaltNameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%7D%0A&endpoint=https%3A%2F%2Fld.admin.ch%2Fquery&requestMethod=POST&tabTitle=Query&headers=%7B%7D&contentTypeConstruct=text%2Fturtle&contentTypeSelect=application%2Fsparql-results%2Bjson&outputFormat=table&outputSettings=%7B%22pageSize%22%3A-1%7D +``` \ No newline at end of file diff --git a/src/app/data/organizations.json b/src/app/data/organizations.json index d9a8e13b..a169e818 100644 --- a/src/app/data/organizations.json +++ b/src/app/data/organizations.json @@ -775,5 +775,28 @@ } } ] + }, + { + "id": "https://ld.admin.ch/FCh", + "name": { + "de": "Bundeskanzlei", + "fr": "Chancellerie fédérale", + "it": "Cancelleria federale" + }, + "abbreviation": { + "de": "BK", + "fr": "ChF", + "it": "CaF" + }, + "organizations": [ + { + "id": "https://ld.admin.ch/FCh", + "name": { + "de": "Bundeskanzlei", + "fr": "Chancellerie fédérale", + "it": "Cancelleria federale" + } + } + ] } -] +] \ No newline at end of file From 99afe665a1f2314dd6a6167bace8c518754573ba Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Thu, 16 Oct 2025 12:03:46 +0200 Subject: [PATCH 06/19] refactor: add organisation object with uri and optional name --- src/app/components/Editor.tsx | 17 +++++++++-------- src/app/contents/fields/generic.ts | 3 ++- src/app/contents/publiccode.ts | 8 +++++++- src/app/data/README.md | 4 ++-- .../{organizations.json => organisations.json} | 16 ++++++++-------- src/app/linter/index.ts | 2 ++ src/i18n/locales/de.json | 8 +++++--- src/i18n/locales/en.json | 8 +++++--- src/i18n/locales/fr.json | 8 +++++--- src/i18n/locales/it.json | 8 +++++--- 10 files changed, 50 insertions(+), 32 deletions(-) rename src/app/data/{organizations.json => organisations.json} (99%) diff --git a/src/app/components/Editor.tsx b/src/app/components/Editor.tsx index 8ce8a238..9f7572d3 100644 --- a/src/app/components/Editor.tsx +++ b/src/app/components/Editor.tsx @@ -12,7 +12,7 @@ import useFormPersist from "react-hook-form-persist"; import { useTranslation } from "react-i18next"; import { RequiredDeep } from "type-fest"; import licenses from "../../generated/licenses.json"; -import organizationData from "../data/organizations.json"; +import organisationData from "../data/organisations.json"; import { allLangs, displayName } from "../../i18n"; import categories from "../contents/categories"; import { DEFAULT_COUNTRY_SECTIONS } from "../contents/constants"; @@ -131,6 +131,7 @@ const resolver: Resolver = async ( const defaultValues = { publiccodeYmlVersion: LATEST_VERSION, legal: {}, + organisation: {}, localisation: { availableLanguages: [] }, maintenance: { contacts: undefined, contractors: undefined }, platforms: [], @@ -165,10 +166,10 @@ export default function Editor() { const { languages, setLanguages, resetLanguages } = useLanguagesStore(); const { setCountrySections } = useCountryStore(); - const organizations = organizationData.flatMap(data => - data.organizations.map(organization => ({ - text: organization.name[i18n.language as keyof typeof organization.name] || organization.name.de, - value: organization.id, + const organisations = organisationData.flatMap(data => + data.organisations.map(organisation => ({ + text: organisation.name[i18n.language as keyof typeof organisation.name] || organisation.name.de, + value: organisation.id, group: data.name[i18n.language as keyof typeof data.name] || data.name.de, })) ); @@ -544,9 +545,9 @@ export default function Editor() { fieldName="landingURL" />
- - fieldName="organisationURI" - data={organizations} + + fieldName="organisation.uri" + data={organisations} />
diff --git a/src/app/contents/fields/generic.ts b/src/app/contents/fields/generic.ts index 78668c41..e4f7b694 100644 --- a/src/app/contents/fields/generic.ts +++ b/src/app/contents/fields/generic.ts @@ -81,13 +81,14 @@ const fields = (): Array => { }, { type: "array", - title: "organizations", + title: "uri", section: 0, items: { type: "string", enum: [], }, widget: "combobox", + group: "organization", }, { title: "localisedName", diff --git a/src/app/contents/publiccode.ts b/src/app/contents/publiccode.ts index 23d8f8a3..f1c9c5d7 100644 --- a/src/app/contents/publiccode.ts +++ b/src/app/contents/publiccode.ts @@ -13,7 +13,7 @@ export default interface PublicCode { applicationSuite?: string; url: string; landingURL?: string; - organisationURI?: string; + organisation?: Organisation; isBasedOn?: string; softwareVersion?: string; releaseDate?: string; // “YYYY-MM-DD” @@ -73,6 +73,11 @@ interface Legal { authorsFile?: string; } +interface Organisation { + uri: string; + name?: string; +} + interface Maintenance { type: (typeof maintenanceTypes)[number]; contractors?: Array; @@ -187,6 +192,7 @@ export const publicCodeDummyObjectFactory = () => ({ applicationSuite: '', url: '', landingURL: '', + organisation: { uri: '' }, isBasedOn: '', softwareVersion: '', releaseDate: '', diff --git a/src/app/data/README.md b/src/app/data/README.md index 383ab5bb..38d5590c 100644 --- a/src/app/data/README.md +++ b/src/app/data/README.md @@ -1,8 +1,8 @@ # Data -## Organizations +## Organisations -The data in the file `organization.json` originates from the following sources: +The data in the file `organisations.json` originates from the following sources: - The seven departements and the Federal Chancellery ``` diff --git a/src/app/data/organizations.json b/src/app/data/organisations.json similarity index 99% rename from src/app/data/organizations.json rename to src/app/data/organisations.json index a169e818..a08f912a 100644 --- a/src/app/data/organizations.json +++ b/src/app/data/organisations.json @@ -11,7 +11,7 @@ "fr": "DFAE", "it": "DFAE" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/I.1.5", "name": { @@ -74,7 +74,7 @@ "fr": "DFI", "it": "DFI" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/II.1.8", "name": { @@ -193,7 +193,7 @@ "fr": "DFJP", "it": "DFGP" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/III.1.1", "name": { @@ -288,7 +288,7 @@ "fr": "DDPS", "it": "DDPS" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/IV.1.1", "name": { @@ -391,7 +391,7 @@ "fr": "DFF", "it": "DFF" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/V.1.1", "name": { @@ -502,7 +502,7 @@ "fr": "DEFR", "it": "DEFR" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/VI.1.1", "name": { @@ -685,7 +685,7 @@ "fr": "DETEC", "it": "DATEC" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/office/VII.1.1", "name": { @@ -788,7 +788,7 @@ "fr": "ChF", "it": "CaF" }, - "organizations": [ + "organisations": [ { "id": "https://ld.admin.ch/FCh", "name": { diff --git a/src/app/linter/index.ts b/src/app/linter/index.ts index c6554658..58b3a7f2 100644 --- a/src/app/linter/index.ts +++ b/src/app/linter/index.ts @@ -63,6 +63,7 @@ export default function linter({ softwareType, intendedAudience, description, + organisation, legal: { license, mainCopyrightOwner, repoOwner, authorsFile }, maintenance: { type, contractors, contacts }, localisation: { localisationReady, availableLanguages }, @@ -88,6 +89,7 @@ export default function linter({ intendedAudience: intendedAudience ? sortAs(defaultIntendedAudience, intendedAudience) : undefined, + organisation: organisation === undefined ? undefined : { uri: organisation.uri, name: organisation.name }, description: mapValues(description, sortDescription), legal: { license, mainCopyrightOwner, repoOwner, authorsFile }, maintenance: { diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index 201254f1..c92f434b 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -323,9 +323,11 @@ "label": "Landingpage-URL", "description": "Wenn der URL-Parameter keine für Menschen lesbare oder durchsuchbare Seite bereitstellt, sondern nur Quellcode für einen Quellcodeverwaltungsclient, haben Sie mit diesem Schlüssel die Möglichkeit, eine Landingpage anzugeben. Diese Seite ist idealerweise der Ort, an dem Ihre Benutzer landen, wenn sie auf eine Schaltfläche klicken, die mit „Zum Anwendungsquellcode gehen“ oder ähnlich beschriftet ist. Falls das Produkt ein automatisiertes grafisches Installationsprogramm bereitstellt, kann diese URL auf eine Seite verweisen, die einen Verweis auf den Quellcode enthält, aber auch den Download eines solchen Installationsprogramms anbietet." }, - "organisationURI": { - "label": "Organisations-URI", - "description": "Die URI der Organisation, die die Software betreut." + "organisation": { + "uri": { + "label": "Organisations-URI", + "description": "Die URI der Organisation, die die Software betreut." + } }, "isBasedOn": { "label": "Basiert auf", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index ceab5548..1065672a 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -339,9 +339,11 @@ "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." }, - "organisationURI": { - "label": "Organisation URI", - "description": "The URI of the organisation that maintains the software." + "organisation": { + "uri": { + "label": "Organisation URI", + "description": "The URI of the organisation that maintains the software." + } }, "isBasedOn": { "label": "Is Based On", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 51a8a9ea..a02322c7 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -336,9 +336,11 @@ "label": "URL de la page d'accueil", "description": "Si le paramètre url ne conduit pas à une page lisible ou navigable, mais conduit uniquement au code source pour un agent de contrôle de la source, cette clé vous permet de spécifier une page de destination. Idéalement, c'est sur cette page que vos utilisateurs atterriront lorsqu'ils cliqueront sur un bouton intitulé “Aller au code source de l'application”. Dans le cas où le produit fournit un installateur graphique automatisé, cette URL peut pointer vers une page qui contient une référence au code source mais offre également le téléchargement d'un tel installateur." }, - "organisationURI": { - "label": "URI de l'organisation", - "description": "L'URI de l'organisation qui maintient le logiciel." + "organisation": { + "uri": { + "label": "URI de l'organisation", + "description": "L'URI de l'organisation qui maintient le logiciel." + } }, "isBasedOn": { "label": "Est Basé Sur", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index a58c4c17..bd509646 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -340,9 +340,11 @@ "label": "URL Landing Page", "description": "L’URL che punta a una pagina di presentazione leggibile da un utente." }, - "organisationURI": { - "label": "URI dell'organizzazione", - "description": "L'URI dell'organizzazione che mantiene il software." + "organisation": { + "uri": { + "label": "URI dell'organizzazione", + "description": "L'URI dell'organizzazione che mantiene il software." + } }, "isBasedOn": { "label": "Variante o fork di", From 3caa87a00bcc2a8777e67ae342d8cbc2d8fdc2b9 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Thu, 16 Oct 2025 14:00:59 +0200 Subject: [PATCH 07/19] refactor: add helper method --- src/app/components/Editor.tsx | 6 +++--- src/i18n/index.ts | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/components/Editor.tsx b/src/app/components/Editor.tsx index 9f7572d3..361882bf 100644 --- a/src/app/components/Editor.tsx +++ b/src/app/components/Editor.tsx @@ -13,7 +13,7 @@ import { useTranslation } from "react-i18next"; import { RequiredDeep } from "type-fest"; import licenses from "../../generated/licenses.json"; import organisationData from "../data/organisations.json"; -import { allLangs, displayName } from "../../i18n"; +import { allLangs, displayName, getLocalizedText } from "../../i18n"; import categories from "../contents/categories"; import { DEFAULT_COUNTRY_SECTIONS } from "../contents/constants"; import * as countrySection from "../contents/countrySpecificSection"; @@ -168,9 +168,9 @@ export default function Editor() { const organisations = organisationData.flatMap(data => data.organisations.map(organisation => ({ - text: organisation.name[i18n.language as keyof typeof organisation.name] || organisation.name.de, + text: getLocalizedText(organisation.name, i18n.language), value: organisation.id, - group: data.name[i18n.language as keyof typeof data.name] || data.name.de, + group: getLocalizedText(data.name, i18n.language) + " (" + getLocalizedText(data.abbreviation, i18n.language) + ")", })) ); diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 86715683..49314262 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -75,3 +75,7 @@ export const getSupportedLanguages = (): Array => { } export const formatLanguageLabel = (language: string) => displayName(language, undefined, 'language')?.toUpperCase() + +type LocalizedString = Record & { de: string }; +export const getLocalizedText = (text: LocalizedString, language: string): string => + text[language] || text.de; From 34efd62b0d1466ac57c34d077272281e5175eac4 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Mon, 20 Oct 2025 15:09:28 +0200 Subject: [PATCH 08/19] chore: upgrade to latest version of parser (v5) --- go.work.sum | 2 ++ src/wasm/go.mod | 2 +- src/wasm/main.go | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/go.work.sum b/go.work.sum index b508229e..5c8c731a 100644 --- a/go.work.sum +++ b/go.work.sum @@ -11,6 +11,8 @@ github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFU github.com/italia/publiccode-parser-go v1.2.4 h1:ASdOVjgCNtlRKW+/ZrPxmguUxjhKx74vv0TKwLH3U6M= github.com/italia/publiccode-parser-go v1.2.4/go.mod h1:zYlDR8AbitTI9RzX3IRV73tqsmR0SOmhWCJDb3FpMT0= github.com/italia/publiccode-parser-go/v3 v3.0.0/go.mod h1:MXFsgghRD+t6k+08WEeRLNrlTzvPo1AqIRL2tRB4tDE= +github.com/italia/publiccode-parser-go/v5 v5.1.1 h1:XVuWXNohNJfSvvXO3OjBoKJU09UELEtRXFpkSwOttvg= +github.com/italia/publiccode-parser-go/v5 v5.1.1/go.mod h1:xndoanQHcweEnJlubntvOHlT/cvde0eFDF59O5PwuCg= github.com/kyoh86/go-spdx v0.0.5-0.20220421143955-2f42f2d4c410/go.mod h1:0Ndah0G/f6NZOyvjm4hUmUGUjCKRzC1qirN4LKASBkM= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= diff --git a/src/wasm/go.mod b/src/wasm/go.mod index 8225bfb6..3e613579 100644 --- a/src/wasm/go.mod +++ b/src/wasm/go.mod @@ -2,7 +2,7 @@ module github.com/italia/publiccode-editor/wasm go 1.23.9 -require github.com/italia/publiccode-parser-go/v4 v4.3.7 +require github.com/italia/publiccode-parser-go/v5 v5.1.1 require ( github.com/Jeffail/gabs v1.4.0 // indirect diff --git a/src/wasm/main.go b/src/wasm/main.go index 7b33a160..c2c45e94 100644 --- a/src/wasm/main.go +++ b/src/wasm/main.go @@ -7,7 +7,7 @@ import ( "encoding/json" "syscall/js" - "github.com/italia/publiccode-parser-go/v4" + "github.com/italia/publiccode-parser-go/v5" ) func main() { From 67986708485e60796696ca3147f93b0b45f68701 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Mon, 20 Oct 2025 17:23:39 +0200 Subject: [PATCH 09/19] chore: add a script to generate the organisations --- package.json | 1 + src/app/data/README.md | 10 +- src/app/data/departements.json | 552 +++ src/app/data/generateOrganisations.ts | 169 + src/app/data/offices.json | 5969 +++++++++++++++++++++++++ src/app/data/organisations.json | 704 +-- 6 files changed, 7106 insertions(+), 299 deletions(-) create mode 100644 src/app/data/departements.json create mode 100644 src/app/data/generateOrganisations.ts create mode 100644 src/app/data/offices.json diff --git a/package.json b/package.json index 2d7baaaf..72ace7e6 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "prebuild": "npm run build:wasm && npm run build:licenses", "build:providers-oembed": "tsx scripts/getProvidersOembed.ts src/generated/providers-oembed.json", "build:licenses": "mkdir -p src/generated && tsx scripts/genLicenseList.ts src/generated/licenses.json", + "build:organisations": "tsx src/app/data/generateOrganisations.ts", "build:wasm": "cp \"$(go env GOROOT)/misc/wasm/wasm_exec.js\" public && GOOS=js GOARCH=wasm go build -o public/main.wasm src/wasm/main.go", "serve": "rm -rf dist; npm run build && http-server dist", "test": "jest --passWithNoTests", diff --git a/src/app/data/README.md b/src/app/data/README.md index 38d5590c..6b08b6a0 100644 --- a/src/app/data/README.md +++ b/src/app/data/README.md @@ -4,12 +4,18 @@ The data in the file `organisations.json` originates from the following sources: -- The seven departements and the Federal Chancellery +- The seven departements and the Federal Chancellery (`departements.json`) ``` https://ld.admin.ch/sparql/#query=PREFIX%20schema%3A%20%3Chttp%3A%2F%2Fschema.org%2F%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%0ASELECT%20DISTINCT%20%3Fdepartment%20%3FnameDepDe%20%3FnameDepFr%20%3FnameDepIt%20%3FnameDepEn%20%3FaltNameDepDe%20%3FaltNameDepFr%20%3FaltNameDepIt%20%3FaltNameDepEn%20%3Foffice%20%3FnameDe%20%3FnameFr%20%3FnameIt%20%3FnameEn%20WHERE%20%7B%0A%20%20%0A%20%20%3Fdepartment%20schema%3AinDefinedTermSet%20%3Chttps%3A%2F%2Fld.admin.ch%2Fdimension%2Fdepartment%3E.%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDe.%20FILTER(lang(%3FnameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameFr.%20FILTER(lang(%3FnameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameIt.%20FILTER(lang(%3FnameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameEn.%20FILTER(lang(%3FnameEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDe.%20FILTER(lang(%3FaltNameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameFr.%20FILTER(lang(%3FaltNameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameIt.%20FILTER(lang(%3FaltNameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameEn.%20FILTER(lang(%3FaltNameEn)%20%3D%20%22en%22)%20%7D%0A%20%20%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepDe.%20FILTER(lang(%3FnameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepFr.%20FILTER(lang(%3FnameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepIt.%20FILTER(lang(%3FnameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepEn.%20FILTER(lang(%3FnameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepDe.%20FILTER(lang(%3FaltNameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepFr.%20FILTER(lang(%3FaltNameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepIt.%20FILTER(lang(%3FaltNameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepEn.%20FILTER(lang(%3FaltNameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%7D%0A&endpoint=https%3A%2F%2Fld.admin.ch%2Fquery&requestMethod=POST&tabTitle=Query&headers=%7B%7D&contentTypeConstruct=text%2Fturtle&contentTypeSelect=application%2Fsparql-results%2Bjson&outputFormat=table&outputSettings=%7B%22isEllipsed%22%3Atrue%2C%22compact%22%3Afalse%7D ``` -- All offices of the seven departments +- All offices of the seven departments (`offices.json`) ``` https://ld.admin.ch/sparql/#query=PREFIX%20schema%3A%20%3Chttp%3A%2F%2Fschema.org%2F%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%0ASELECT%20DISTINCT%20%3Fdepartment%20%3FnameDepDe%20%3FnameDepFr%20%3FnameDepIt%20%3FnameDepEn%20%3FaltNameDepDe%20%3FaltNameDepFr%20%3FaltNameDepIt%20%3FaltNameDepEn%20%3Foffice%20%3FnameDe%20%3FnameFr%20%3FnameIt%20%3FnameEn%20WHERE%20%7B%0A%20%0A%20%20%3Foffice%20schema%3AinDefinedTermSet%20%3Chttps%3A%2F%2Fld.admin.ch%2Foffice%3E.%0A%20%20%3Foffice%20schema%3AparentOrganization%20%3Fdepartment.%0A%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameDe.%20FILTER(lang(%3FnameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameFr.%20FILTER(lang(%3FnameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameIt.%20FILTER(lang(%3FnameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3Aname%20%3FnameEn.%20FILTER(lang(%3FnameEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameDe.%20FILTER(lang(%3FaltNameDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameFr.%20FILTER(lang(%3FaltNameFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameIt.%20FILTER(lang(%3FaltNameIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Foffice%20schema%3AalternateName%20%3FaltNameEn.%20FILTER(lang(%3FaltNameEn)%20%3D%20%22en%22)%20%7D%0A%20%20%0A%20%20%3Fdepartment%20schema%3AinDefinedTermSet%20%3Chttps%3A%2F%2Fld.admin.ch%2Fdepartment%3E.%0A%20%20%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepDe.%20FILTER(lang(%3FnameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepFr.%20FILTER(lang(%3FnameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepIt.%20FILTER(lang(%3FnameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3Aname%20%3FnameDepEn.%20FILTER(lang(%3FnameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepDe.%20FILTER(lang(%3FaltNameDepDe)%20%3D%20%22de%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepFr.%20FILTER(lang(%3FaltNameDepFr)%20%3D%20%22fr%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepIt.%20FILTER(lang(%3FaltNameDepIt)%20%3D%20%22it%22)%20%7D%0A%20%20OPTIONAL%20%7B%20%3Fdepartment%20schema%3AalternateName%20%3FaltNameDepEn.%20FILTER(lang(%3FaltNameDepEn)%20%3D%20%22en%22)%20%7D%0A%0A%7D%0A&endpoint=https%3A%2F%2Fld.admin.ch%2Fquery&requestMethod=POST&tabTitle=Query&headers=%7B%7D&contentTypeConstruct=text%2Fturtle&contentTypeSelect=application%2Fsparql-results%2Bjson&outputFormat=table&outputSettings=%7B%22pageSize%22%3A-1%7D +``` + +It can be (re-)generated by running: + +```bash +npx run build:organisations ``` \ No newline at end of file diff --git a/src/app/data/departements.json b/src/app/data/departements.json new file mode 100644 index 00000000..262d7e0f --- /dev/null +++ b/src/app/data/departements.json @@ -0,0 +1,552 @@ +{ + "head": { + "vars": [ + "department", + "nameDepDe", + "nameDepFr", + "nameDepIt", + "nameDepEn", + "altNameDepDe", + "altNameDepFr", + "altNameDepIt", + "altNameDepEn", + "office", + "nameDe", + "nameFr", + "nameIt", + "nameEn" + ] + }, + "results": { + "bindings": [ + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/FCh" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundeskanzlei" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Chancellerie fédérale" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Cancelleria federale" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Chancellery" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "BK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "ChF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "CaF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FCh" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundeskanzlei" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Chancellerie fédérale" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Cancelleria federale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Chancellery" + } + } + ] + } +} \ No newline at end of file diff --git a/src/app/data/generateOrganisations.ts b/src/app/data/generateOrganisations.ts new file mode 100644 index 00000000..3ec732a1 --- /dev/null +++ b/src/app/data/generateOrganisations.ts @@ -0,0 +1,169 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import { fileURLToPath } from 'url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +interface SPARQLBinding { + value: string; +} + +interface OfficeBinding { + department: SPARQLBinding; + nameDepDe: SPARQLBinding; + nameDepFr: SPARQLBinding; + nameDepIt: SPARQLBinding; + nameDepEn?: SPARQLBinding; + altNameDepDe: SPARQLBinding; + altNameDepFr: SPARQLBinding; + altNameDepIt: SPARQLBinding; + altNameDepEn?: SPARQLBinding; + office?: SPARQLBinding; + nameDe: SPARQLBinding; + nameFr: SPARQLBinding; + nameIt: SPARQLBinding; + nameEn?: SPARQLBinding; +} + +interface SPARQLResult { + results: { + bindings: OfficeBinding[]; + }; +} + +interface MultilingualName { + de: string; + fr: string; + it: string; + en?: string; +} + +interface Organisation { + id: string; + name: MultilingualName; +} + +interface Department { + id: string; + name: MultilingualName; + abbreviation: MultilingualName; + organisations: Organisation[]; +} + +function generateOrganisations(): void { + const officesPath = path.join(__dirname, 'offices.json'); + const departementsPath = path.join(__dirname, 'departements.json'); + const outputPath = path.join(__dirname, 'organisations.json'); + + const officesData: SPARQLResult = JSON.parse(fs.readFileSync(officesPath, 'utf-8')); + const departementsData: SPARQLResult = JSON.parse(fs.readFileSync(departementsPath, 'utf-8')); + + // Group offices by department + const departmentMap = new Map(); + + // Process offices - these are departments with offices + for (const binding of officesData.results.bindings) { + const deptId = binding.department.value; + + if (!departmentMap.has(deptId)) { + departmentMap.set(deptId, { + info: binding, + offices: [] + }); + } + + if (binding.office) { + departmentMap.get(deptId)!.offices.push(binding); + } + } + + // Process all departments to find those without offices + const allDepartments = new Map(); + for (const binding of departementsData.results.bindings) { + const deptId = binding.department.value; + if (!allDepartments.has(deptId)) { + allDepartments.set(deptId, binding); + } + } + + const departments: Department[] = []; + + // First, add departments with offices + for (const [deptId, data] of departmentMap) { + const dept: Department = { + id: deptId, + name: { + de: data.info.nameDepDe.value, + fr: data.info.nameDepFr.value, + it: data.info.nameDepIt.value, + en: data.info.nameDepEn?.value, + }, + abbreviation: { + de: data.info.altNameDepDe.value, + fr: data.info.altNameDepFr.value, + it: data.info.altNameDepIt.value, + en: data.info.altNameDepEn?.value, + }, + organisations: data.offices.map(office => ({ + id: office.office!.value, + name: { + de: office.nameDe.value, + fr: office.nameFr.value, + it: office.nameIt.value, + en: office.nameEn?.value, + } + })) + }; + + departments.push(dept); + } + + // Then, add departments without offices (they list themselves as an organisation) + for (const [deptId, binding] of allDepartments) { + if (!departmentMap.has(deptId)) { + const dept: Department = { + id: deptId, + name: { + de: binding.nameDepDe.value, + fr: binding.nameDepFr.value, + it: binding.nameDepIt.value, + en: binding.nameDepEn?.value, + }, + abbreviation: { + de: binding.altNameDepDe.value, + fr: binding.altNameDepFr.value, + it: binding.altNameDepIt.value, + en: binding.altNameDepEn?.value, + }, + organisations: [{ + id: deptId, + name: { + de: binding.nameDepDe.value, + fr: binding.nameDepFr.value, + it: binding.nameDepIt.value, + en: binding.nameDepEn?.value, + } + }] + }; + + departments.push(dept); + } + } + + fs.writeFileSync(outputPath, JSON.stringify(departments, null, 2) + '\n'); + + console.log(`✓ Successfully generated ${outputPath}`); + console.log(` - ${departments.length} departments`); + console.log(` - ${departments.reduce((sum, d) => sum + d.organisations.length, 0)} organisations`); +} + +try { + generateOrganisations(); +} catch (error) { + console.error('Error generating organisations:', error); + process.exit(1); +} diff --git a/src/app/data/offices.json b/src/app/data/offices.json new file mode 100644 index 00000000..0bb57377 --- /dev/null +++ b/src/app/data/offices.json @@ -0,0 +1,5969 @@ +{ + "head": { + "vars": [ + "department", + "nameDepDe", + "nameDepFr", + "nameDepIt", + "nameDepEn", + "altNameDepDe", + "altNameDepFr", + "altNameDepIt", + "altNameDepEn", + "office", + "nameDe", + "nameFr", + "nameIt", + "nameEn" + ] + }, + "results": { + "bindings": [ + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/I.1.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Direktion für Entwicklung und Zusammenarbeit" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Direction du développement et de la coopération" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Direzione dello sviluppo e della cooperazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Agency for Development and Cooperation" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/I.1.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Direktion für Ressourcen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Direction des ressources" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Direzione delle risorse" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Directorate for Resources" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/I.1.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Konsularische Direktion" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Direction consulaire" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Direzione consolare" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Consular Directorate" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/I.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/I.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Staatssekretariat EDA" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat d’Etat du DFAE" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria di Stato del DFAE" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA State Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/I" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für auswärtige Angelegenheiten" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des affaires étrangères" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale degli affari esteri" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Foreign Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDA" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFAE" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFAE" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDFA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/I.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Direktion für Völkerrecht" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Direction du droit international public" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Direzione del diritto internazionale pubblico" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Directorate of International Law" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Sozialversicherungen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral des assurances sociales" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale delle assicurazioni sociali" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Social Insurance Office" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.9" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Lebensmittelsicherheit und Veterinärwesen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la sécurité alimentaire et des affaires vétérinaires" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale della sicurezza alimentare e di veterinaria" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Food Safety and Veterinary Office" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Statistik" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la statistique" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale di statistica" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Statistical Office" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.6" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Gesundheit" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la santé publique" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale della sanità pubblica" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Public Health" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.2.2.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerisches Heilmittelinstitut" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut suisse des produits thérapeutiques" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto svizzero per gli agenti terapeutici" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Agency for Therapeutic Products" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.2.2.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Ausgleichfonds AHV/IV/EO" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Fonds de compensation AVS/AI/APG" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Fondi die compensazione AVS/AI/IPG" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Social Security Funds AHV/IV/EO" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.2.2.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerisches Nationalmuseum" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Musée national suisse" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Museo nazionale svizzero" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss National Museum" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.2.2.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Pro Helvetia" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Pro Helvetia" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Pro Helvetia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Pro Helvetia" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Büro für die Gleichstellung von Frau und Mann" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Bureau fédéral de l'égalité entre femmes et hommes" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale per l'uguaglianza fra donna e uomo" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Gender Equality" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Kultur" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la culture" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale della cultura" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Culture" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Meteorologie und Klimatologie" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de météorologie et de climatologie" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale di meteorologia e climatologia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Meteorology and Climatology" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/II" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement des Innern" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’intérieur" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'interno" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Home Affairs" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EDI" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFI" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFI" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDHA" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerisches Bundesarchiv" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Archives fédérales suisses" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Archivio federale svizzero" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Archives" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.2.2.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerisches Institut für Rechtsvergleichung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut suisse de droit comparé" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto svizzero di diritto comparato" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Institute of Comparative Law" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.2.2.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Institut für Geistiges Eigentum" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut Fédéral de la Propriété Intellectuelle" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto Federale della Proprietà Intellettuale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Institute of Intellectual Property" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Staatssekretariat für Migration" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat d'Etat aux migrations" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria di Stato della migrazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "State Secretariat for Migration" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.2.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Kommission zur Verhütung von Folter" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Commission de prévention de la torture" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Commissione per la prevenzione della tortura" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "National Commission for the Prevention of Torture" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.2.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Dienst Überwachung Post- und Fernmeldeverkehr (ÜPF)" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Service Surveillance de la correspondance par poste et télécommunication (SCPT)" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Servizio Sorveglianza della corrispondenza postale e del traffico delle telecomunicazioni (SCPT)" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Post and Telecommunications Surveillance Service (PTSS)" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.2.2.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Revisionsaufsichtsbehörde" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Autorité fédérale de surveillance en matière de révision" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Autorità federale di sorveglianza dei revisori" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Audit Supervisory Authority" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.2.2.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Institut für Metrologie" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut fédéral de métrologie" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto federale di metrologia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Institute of Metrology" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Justiz" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la justice" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale di giustizia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Justice" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/II.2.2.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Ausgleichfonds AHV/IV/EO" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Fonds de compensation AVS/AI/APG" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Fondi die compensazione AVS/AI/IPG" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Social Security Funds AHV/IV/EO" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/III" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössiches Justiz- und Polizeidepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de justice et police" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale di giustizia e polizia" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Justice and Police" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EJPD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFJP" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFGP" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDJP" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/III.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Polizei" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la police" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale di polizia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Police" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Sport" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral du sport" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dello sport" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Sport" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.6" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Bevölkerungsschutz" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la protection de la population" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale della protezione della popolazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Civil Protection" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.5a" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Landestopografie" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de topographie" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale di topografia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Topography" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Cybersicherheit" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la cybersécurité" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale della cibersicurezza" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "National Cyber Security Centre" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.1a" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Staatssekretariat für Sicherheitspolitik" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat d’État à la politique de sécurité" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria di Stato della politica di sicurezza" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "State Secretariat for Security Policy" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.2.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Unabhängige Aufsichtsbehörde über die nachrichtendienstlichen Tätigkeiten" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Autorité de surveillance indépendante des activités de renseignement" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Autorità de vigilanza indipendente sulle attività informative" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Independent Oversight Authority for Intelligence Activities" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Nachrichtendienst des Bundes" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Service de renseignement de la Confédération" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Servizio delle attività informative della Confederazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Intelligence Service" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Oberauditorat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office de l'auditeur en chef" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio dell'uditore in capo" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Office of the Armed Force Attorney General" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Rüstung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de l'armement" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dell'armamento" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Defence Procurement" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/IV" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de la défense, de la protection de la population et des sports" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Defence, Civil Protection and Sport" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "VBS" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DDPS" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DDPS" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DDPS" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/IV.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Gruppe Verteidigung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Groupement Défense" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Aggruppamento Difesa" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Defence Group" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Bauten und Logistik" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral des constructions et de la logistique" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale delle costruzioni e della logistica" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Buildings and Logistics" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.2.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Finanzkontrolle" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Contrôle fédéral des finances" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Controllo federale delle finanze" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Audit Office" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Informatik und Telekommunikation" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de l'informatique et de la télécommunication" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dell'informatica e della telecomunicazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Information Technology, Systems and Telecommunication" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.2.2.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Pensionskasse des Bundes" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Caisse fédérale de pensions" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Cassa pensioni della Confederazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Pension Fund" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.2.2.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Finanzmarktaufsicht" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Autorité fédérale de surveillance des marchés financiers" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Autorità federale di vigilanza sui mercati finanziari" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Financial Market Supervisory Authority" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.9" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Informatiksteuerungsorgan des Bundes" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Unité de pilotage informatique de la Confédération" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Organo direzione informatica della Confederazione" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Finanzverwaltung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Administration fédérale des finances" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Amministrazione federale delle finanze" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Finance Administration" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Staatssekretariat für internationale Finanzfragen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat d'Etat aux questions financières internationales" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria di Stato per le questioni finanziarie internazionali" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "State Secretariat for International Finance" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Personalamt" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral du personnel" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale del personale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Personnel" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.6" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Zoll und Grenzsicherheit" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la douane et de la sécurité des frontières" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale della dogana e della sicurezza dei confini" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Customs and Border Security" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/V" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Finanzdepartement" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral des finances" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale delle finanze" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Finance" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "EFD" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DFF" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DFF" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "FDF" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/V.1.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Steuerverwaltung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Administration fédérale des contributions" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Amministrazione federale delle contribuzioni" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Tax Administration" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Wohnungswesen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral du logement" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale delle abitazioni" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Housing" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.9" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Zivildienst" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral du service civil" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale del servizio civile" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Civilian Service" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für wirtschaftliche Landesversorgung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral pour l'approvisionnement économique du pays" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale per l'approvvigionamento economico del Paese" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for National Economic Supply" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Hochschule für Berufsbildung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Haute école fédérale en formation professionnelle" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Scuola universitaria federale per la formazione professionale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal University for Vocational Education and Training" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Paul-Scherrer-Institut" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut Paul Scherrer" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto Paul Scherrer" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Paul Scherrer Institute" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Forschungsanstalt für Wald, Schnee und Landschaft" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut fédéral de recherches sur la forêt, la neige et le paysage" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto federale di ricerca per la foresta, la neve e il paesaggio" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Institute for Forest, Snow and Landscape Research" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Technische Hochschule Zürich" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Ecole polytechnique fédérale de Zürich" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Politecnico federale di Zurigo" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Institute of Technology Zurich" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.6" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Technische Hochschule Lausanne" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Ecole polytechnique fédérale de Lausanne" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Politecnico federale di Losanna" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Institute of Technology Lausanne" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.11" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerische Agentur für Innovationsförderung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Agence suisse pour l'encouragement de l'innovation" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Agenzia svizzera per la promozione dell'innovazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Innovation Agency" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.3.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Swiss Investment Fund for Emerging Markets" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Swiss Investment Fund for Emerging Markets" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Swiss Investment Fund for Emerging Markets" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Investment Fund for Emerging Markets" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.9" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Materialprüfungs- und Forschungsanstalt" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Laboratoire fédéral d'essai des matériaux et de recherche" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Laboratorio federale di prova dei materiali e di ricerca" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Laboratories for Materials Science and Technology" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.10" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössische Anstalt für Wasserversorgung, Abwasserreinigung und Gewässerschutz" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Institut fédéral pour l’aménagement, l’épuration et la protection des eaux" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Istituto federale per l'approvvigionamento, la depurazione e la protezione delle acque" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Institute of Aquatic Science and Technology" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bereich der Eidgenössischen Technischen Hochschulen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Domaine des écoles polytechniques fédérales" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Settore dei politecnici federali" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Domain of the Swiss Federal Institutes of Technology" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerische Gesellschaft für Hotelkredit" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Société suisse de crédit hôtelier" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Società svizzera di credito alberghiero" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Association for Hotel Credit" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerische Exportrisikoversicherung SERV:" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Assurance suisse contre les risques à l'exportation (ASRE)" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Assicurazione svizzera contro i rischi delle esportazioni (ASRE)" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Export Risk Insurance SERV" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.2.2.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweiz Tourismus" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Suisse Tourisme" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Svizzera Turismo" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Switzerland Tourism" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Staatssekretariat für Wirtschaft" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat d'Etat à l'économie" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria di Stato dell'economia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "State Secretariat for Economic Affairs" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Preisüberwachung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Surveillance des prix" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Sorveglianza dei prezzi" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Office of the Price Supervisor" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Landwirtschaft" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de l'agriculture" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dell'agricoltura" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Agriculture" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VI" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l’économie, de la formation et de la recherche" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'economia, della formazione e della ricerca" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of Economic Affairs, Education and Research" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "WBF" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DEFR" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DEFR" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "EAER" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VI.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Staatssekretariat für Bildung, Forschung und Innovation" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat d'Etat à la formation, à la recherche et à l'innovation" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria di Stato per la formazione, la ricerca e l'innovazione" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "State Secretariat for Education, Research and Innovation" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.6" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Kommunikation" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de la communication" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale delle comunicazioni" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Communications" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.7" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Umwelt" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de l'environnement" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dell'ambiente" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for the Environment" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.5" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Strassen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral des routes" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale delle strade" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Roads Office" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.8" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Raumentwicklung" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral du développement territorial" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dello sviluppo territoriale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office for Spatial Development" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.2.2.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Stilllegungs- und Entsorgungsfonds für Kernanlagen" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Fonds de désaffectation et Fonds de gestion pour les installations nucléaires" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Fondo di disattivazione e Fondo di smaltimento per gli impianti nucleari" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Waste Disposal Fund for Nuclear Installations" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.2.2.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Schweizerische Trassenvergabestelle" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Service suisse d'attribution des sillons" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Servizio svizzero di assegnazione delle tracce" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Capacity Allocation Body" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.2.2.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Nuklearsicherheitsinspektorat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Inspection fédérale de la sécurité nucléaire" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ispettorato federale della sicurezza nucleare" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Nuclear Safety Inspectorate" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.2" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Verkehr" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral des transports" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dei trasporti" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Transport" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.3" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Zivilluftfahrt" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de l'aviation civile" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dell'aviazione civile" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Office of Civil Aviation" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.1" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Generalsekretariat" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Secrétariat général" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Segreteria generale" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "General Secretariat" + } + }, + { + "department": { + "type": "uri", + "value": "https://ld.admin.ch/department/VII" + }, + "nameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation" + }, + "nameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication" + }, + "nameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + }, + "nameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "Federal Department of the Environment, Transport, Energy and Communications" + }, + "altNameDepDe": { + "xml:lang": "de", + "type": "literal", + "value": "UVEK" + }, + "altNameDepFr": { + "xml:lang": "fr", + "type": "literal", + "value": "DETEC" + }, + "altNameDepIt": { + "xml:lang": "it", + "type": "literal", + "value": "DATEC" + }, + "altNameDepEn": { + "xml:lang": "en", + "type": "literal", + "value": "DETEC" + }, + "office": { + "type": "uri", + "value": "https://ld.admin.ch/office/VII.1.4" + }, + "nameDe": { + "xml:lang": "de", + "type": "literal", + "value": "Bundesamt für Energie" + }, + "nameFr": { + "xml:lang": "fr", + "type": "literal", + "value": "Office fédéral de l'énergie" + }, + "nameIt": { + "xml:lang": "it", + "type": "literal", + "value": "Ufficio federale dell'energia" + }, + "nameEn": { + "xml:lang": "en", + "type": "literal", + "value": "Swiss Federal Office of Energy" + } + } + ] + } +} \ No newline at end of file diff --git a/src/app/data/organisations.json b/src/app/data/organisations.json index a08f912a..cd864dd8 100644 --- a/src/app/data/organisations.json +++ b/src/app/data/organisations.json @@ -4,12 +4,14 @@ "name": { "de": "Eidgenössisches Departement für auswärtige Angelegenheiten", "fr": "Département fédéral des affaires étrangères", - "it": "Dipartimento federale degli affari esteri" + "it": "Dipartimento federale degli affari esteri", + "en": "Federal Department of Foreign Affairs" }, "abbreviation": { "de": "EDA", "fr": "DFAE", - "it": "DFAE" + "it": "DFAE", + "en": "FDFA" }, "organisations": [ { @@ -17,7 +19,8 @@ "name": { "de": "Direktion für Entwicklung und Zusammenarbeit", "fr": "Direction du développement et de la coopération", - "it": "Direzione dello sviluppo e della cooperazione" + "it": "Direzione dello sviluppo e della cooperazione", + "en": "Swiss Agency for Development and Cooperation" } }, { @@ -25,7 +28,8 @@ "name": { "de": "Direktion für Ressourcen", "fr": "Direction des ressources", - "it": "Direzione delle risorse" + "it": "Direzione delle risorse", + "en": "Directorate for Resources" } }, { @@ -33,7 +37,8 @@ "name": { "de": "Konsularische Direktion", "fr": "Direction consulaire", - "it": "Direzione consolare" + "it": "Direzione consolare", + "en": "Consular Directorate" } }, { @@ -41,15 +46,17 @@ "name": { "de": "Generalsekretariat", "fr": "Secrétariat général", - "it": "Segreteria generale" + "it": "Segreteria generale", + "en": "General Secretariat" } }, { "id": "https://ld.admin.ch/office/I.1.2", "name": { "de": "Staatssekretariat EDA", - "fr": "Secrétariat d'État du DFAE", - "it": "Segreteria di Stato del DFAE" + "fr": "Secrétariat d’Etat du DFAE", + "it": "Segreteria di Stato del DFAE", + "en": "FDFA State Secretariat" } }, { @@ -57,7 +64,8 @@ "name": { "de": "Direktion für Völkerrecht", "fr": "Direction du droit international public", - "it": "Direzione del diritto internazionale pubblico" + "it": "Direzione del diritto internazionale pubblico", + "en": "Directorate of International Law" } } ] @@ -66,13 +74,15 @@ "id": "https://ld.admin.ch/department/II", "name": { "de": "Eidgenössisches Departement des Innern", - "fr": "Département fédéral de l'intérieur", - "it": "Dipartimento federale dell'interno" + "fr": "Département fédéral de l’intérieur", + "it": "Dipartimento federale dell'interno", + "en": "Federal Department of Home Affairs" }, "abbreviation": { "de": "EDI", "fr": "DFI", - "it": "DFI" + "it": "DFI", + "en": "FDHA" }, "organisations": [ { @@ -80,7 +90,8 @@ "name": { "de": "Bundesamt für Sozialversicherungen", "fr": "Office fédéral des assurances sociales", - "it": "Ufficio federale delle assicurazioni sociali" + "it": "Ufficio federale delle assicurazioni sociali", + "en": "Federal Social Insurance Office" } }, { @@ -88,7 +99,8 @@ "name": { "de": "Bundesamt für Lebensmittelsicherheit und Veterinärwesen", "fr": "Office fédéral de la sécurité alimentaire et des affaires vétérinaires", - "it": "Ufficio federale della sicurezza alimentare e di veterinaria" + "it": "Ufficio federale della sicurezza alimentare e di veterinaria", + "en": "Federal Food Safety and Veterinary Office" } }, { @@ -96,7 +108,8 @@ "name": { "de": "Bundesamt für Statistik", "fr": "Office fédéral de la statistique", - "it": "Ufficio federale di statistica" + "it": "Ufficio federale di statistica", + "en": "Federal Statistical Office" } }, { @@ -104,7 +117,8 @@ "name": { "de": "Bundesamt für Gesundheit", "fr": "Office fédéral de la santé publique", - "it": "Ufficio federale della sanità pubblica" + "it": "Ufficio federale della sanità pubblica", + "en": "Federal Office of Public Health" } }, { @@ -112,15 +126,17 @@ "name": { "de": "Schweizerisches Heilmittelinstitut", "fr": "Institut suisse des produits thérapeutiques", - "it": "Istituto svizzero per gli agenti terapeutici" + "it": "Istituto svizzero per gli agenti terapeutici", + "en": "Swiss Agency for Therapeutic Products" } }, { "id": "https://ld.admin.ch/office/II.2.2.4", "name": { - "de": "Ausgleichsfonds AHV/IV/EO", + "de": "Ausgleichfonds AHV/IV/EO", "fr": "Fonds de compensation AVS/AI/APG", - "it": "Fondi di compensazione AVS/AI/IPG" + "it": "Fondi die compensazione AVS/AI/IPG", + "en": "Social Security Funds AHV/IV/EO" } }, { @@ -128,7 +144,8 @@ "name": { "de": "Schweizerisches Nationalmuseum", "fr": "Musée national suisse", - "it": "Museo nazionale svizzero" + "it": "Museo nazionale svizzero", + "en": "Swiss National Museum" } }, { @@ -136,7 +153,8 @@ "name": { "de": "Pro Helvetia", "fr": "Pro Helvetia", - "it": "Pro Helvetia" + "it": "Pro Helvetia", + "en": "Pro Helvetia" } }, { @@ -144,7 +162,8 @@ "name": { "de": "Eidgenössisches Büro für die Gleichstellung von Frau und Mann", "fr": "Bureau fédéral de l'égalité entre femmes et hommes", - "it": "Ufficio federale per l'uguaglianza fra donna e uomo" + "it": "Ufficio federale per l'uguaglianza fra donna e uomo", + "en": "Federal Office for Gender Equality" } }, { @@ -152,7 +171,8 @@ "name": { "de": "Bundesamt für Kultur", "fr": "Office fédéral de la culture", - "it": "Ufficio federale della cultura" + "it": "Ufficio federale della cultura", + "en": "Federal Office of Culture" } }, { @@ -160,7 +180,8 @@ "name": { "de": "Generalsekretariat", "fr": "Secrétariat général", - "it": "Segreteria generale" + "it": "Segreteria generale", + "en": "General Secretariat" } }, { @@ -168,7 +189,8 @@ "name": { "de": "Bundesamt für Meteorologie und Klimatologie", "fr": "Office fédéral de météorologie et de climatologie", - "it": "Ufficio federale di meteorologia e climatologia" + "it": "Ufficio federale di meteorologia e climatologia", + "en": "Federal Office of Meteorology and Climatology" } }, { @@ -176,7 +198,8 @@ "name": { "de": "Schweizerisches Bundesarchiv", "fr": "Archives fédérales suisses", - "it": "Archivio federale svizzero" + "it": "Archivio federale svizzero", + "en": "Swiss Federal Archives" } } ] @@ -184,46 +207,25 @@ { "id": "https://ld.admin.ch/department/III", "name": { - "de": "Eidgenössisches Justiz- und Polizeidepartement", + "de": "Eidgenössiches Justiz- und Polizeidepartement", "fr": "Département fédéral de justice et police", - "it": "Dipartimento federale di giustizia e polizia" + "it": "Dipartimento federale di giustizia e polizia", + "en": "Federal Department of Justice and Police" }, "abbreviation": { "de": "EJPD", "fr": "DFJP", - "it": "DFGP" + "it": "DFGP", + "en": "FDJP" }, "organisations": [ - { - "id": "https://ld.admin.ch/office/III.1.1", - "name": { - "de": "Generalsekretariat", - "fr": "Secrétariat général", - "it": "Segreteria generale" - } - }, - { - "id": "https://ld.admin.ch/office/III.1.2", - "name": { - "de": "Bundesamt für Justiz", - "fr": "Office fédéral de la justice", - "it": "Ufficio federale di giustizia" - } - }, - { - "id": "https://ld.admin.ch/office/III.1.3", - "name": { - "de": "Bundesamt für Polizei", - "fr": "Office fédéral de la police", - "it": "Ufficio federale di polizia" - } - }, { "id": "https://ld.admin.ch/office/III.2.2.1", "name": { "de": "Schweizerisches Institut für Rechtsvergleichung", "fr": "Institut suisse de droit comparé", - "it": "Istituto svizzero di diritto comparato" + "it": "Istituto svizzero di diritto comparato", + "en": "Swiss Institute of Comparative Law" } }, { @@ -231,31 +233,35 @@ "name": { "de": "Eidgenössisches Institut für Geistiges Eigentum", "fr": "Institut Fédéral de la Propriété Intellectuelle", - "it": "Istituto Federale della Proprietà Intellettuale" + "it": "Istituto Federale della Proprietà Intellettuale", + "en": "Swiss Federal Institute of Intellectual Property" } }, { "id": "https://ld.admin.ch/office/III.1.4", "name": { "de": "Staatssekretariat für Migration", - "fr": "Secrétariat d'État aux migrations", - "it": "Segreteria di Stato della migrazione" + "fr": "Secrétariat d'Etat aux migrations", + "it": "Segreteria di Stato della migrazione", + "en": "State Secretariat for Migration" } }, { - "id": "https://ld.admin.ch/office/III.2.1.2", + "id": "https://ld.admin.ch/office/III.2.1.3", "name": { - "de": "Dienst Überwachung Post- und Fernmeldeverkehr", - "fr": "Service Surveillance de la correspondance par poste et télécommunication", - "it": "Servizio Sorveglianza della corrispondenza postale e del traffico delle telecomunicazioni" + "de": "Kommission zur Verhütung von Folter", + "fr": "Commission de prévention de la torture", + "it": "Commissione per la prevenzione della tortura", + "en": "National Commission for the Prevention of Torture" } }, { - "id": "https://ld.admin.ch/office/III.2.1.3", + "id": "https://ld.admin.ch/office/III.2.1.2", "name": { - "de": "Kommission zur Verhütung von Folter", - "fr": "Commission de prévention de la torture", - "it": "Commissione per la prevenzione della tortura" + "de": "Dienst Überwachung Post- und Fernmeldeverkehr (ÜPF)", + "fr": "Service Surveillance de la correspondance par poste et télécommunication (SCPT)", + "it": "Servizio Sorveglianza della corrispondenza postale e del traffico delle telecomunicazioni (SCPT)", + "en": "Post and Telecommunications Surveillance Service (PTSS)" } }, { @@ -263,15 +269,53 @@ "name": { "de": "Eidgenössische Revisionsaufsichtsbehörde", "fr": "Autorité fédérale de surveillance en matière de révision", - "it": "Autorità federale di sorveglianza dei revisori" + "it": "Autorità federale di sorveglianza dei revisori", + "en": "Federal Audit Supervisory Authority" } }, { "id": "https://ld.admin.ch/office/III.2.2.4", "name": { - "de": "Ausgleichsfonds AHV/IV/EO", + "de": "Eidgenössisches Institut für Metrologie", + "fr": "Institut fédéral de métrologie", + "it": "Istituto federale di metrologia", + "en": "Federal Institute of Metrology" + } + }, + { + "id": "https://ld.admin.ch/office/III.1.1", + "name": { + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale", + "en": "General Secretariat" + } + }, + { + "id": "https://ld.admin.ch/office/III.1.2", + "name": { + "de": "Bundesamt für Justiz", + "fr": "Office fédéral de la justice", + "it": "Ufficio federale di giustizia", + "en": "Federal Office of Justice" + } + }, + { + "id": "https://ld.admin.ch/office/II.2.2.4", + "name": { + "de": "Ausgleichfonds AHV/IV/EO", "fr": "Fonds de compensation AVS/AI/APG", - "it": "Fondi di compensazione AVS/AI/IPG" + "it": "Fondi die compensazione AVS/AI/IPG", + "en": "Social Security Funds AHV/IV/EO" + } + }, + { + "id": "https://ld.admin.ch/office/III.1.3", + "name": { + "de": "Bundesamt für Polizei", + "fr": "Office fédéral de la police", + "it": "Ufficio federale di polizia", + "en": "Federal Office of Police" } } ] @@ -281,100 +325,113 @@ "name": { "de": "Eidgenössisches Departement für Verteidigung, Bevölkerungsschutz und Sport", "fr": "Département fédéral de la défense, de la protection de la population et des sports", - "it": "Dipartimento federale della difesa, della protezione della popolazione e dello sport" + "it": "Dipartimento federale della difesa, della protezione della popolazione e dello sport", + "en": "Federal Department of Defence, Civil Protection and Sport" }, "abbreviation": { "de": "VBS", "fr": "DDPS", - "it": "DDPS" + "it": "DDPS", + "en": "DDPS" }, "organisations": [ { - "id": "https://ld.admin.ch/office/IV.1.1", + "id": "https://ld.admin.ch/office/IV.1.7", "name": { - "de": "Generalsekretariat VBS", - "fr": "Secrétariat général DDPS", - "it": "Segreteria generale DDPS" + "de": "Bundesamt für Sport", + "fr": "Office fédéral du sport", + "it": "Ufficio federale dello sport", + "en": "Federal Office of Sport" } }, { - "id": "https://ld.admin.ch/office/IV.1.1a", + "id": "https://ld.admin.ch/office/IV.1.6", "name": { - "de": "Recht", - "fr": "Droit", - "it": "Diritto" + "de": "Bundesamt für Bevölkerungsschutz", + "fr": "Office fédéral de la protection de la population", + "it": "Ufficio federale della protezione della popolazione", + "en": "Federal Office for Civil Protection" } }, { - "id": "https://ld.admin.ch/office/IV.1.2", + "id": "https://ld.admin.ch/office/IV.1.5a", "name": { - "de": "Bundesamt für Rüstung", - "fr": "Office fédéral de l'armement", - "it": "Ufficio federale dell'armamento" + "de": "Bundesamt für Landestopografie", + "fr": "Office fédéral de topographie", + "it": "Ufficio federale di topografia", + "en": "Federal Office of Topography" } }, { - "id": "https://ld.admin.ch/office/IV.1.3", + "id": "https://ld.admin.ch/office/IV.1.8", "name": { - "de": "Oberauditorat", - "fr": "Office de l'auditeur en chef", - "it": "Ufficio dell'uditore in capo" + "de": "Bundesamt für Cybersicherheit", + "fr": "Office fédéral de la cybersécurité", + "it": "Ufficio federale della cibersicurezza", + "en": "National Cyber Security Centre" } }, { - "id": "https://ld.admin.ch/office/IV.1.4", + "id": "https://ld.admin.ch/office/IV.1.1a", "name": { - "de": "Gruppe Verteidigung", - "fr": "Groupement Défense", - "it": "Aggruppamento Difesa" + "de": "Staatssekretariat für Sicherheitspolitik", + "fr": "Secrétariat d’État à la politique de sécurité", + "it": "Segreteria di Stato della politica di sicurezza", + "en": "State Secretariat for Security Policy" } }, { - "id": "https://ld.admin.ch/office/IV.1.5", + "id": "https://ld.admin.ch/office/IV.2.1.1", "name": { - "de": "Bundesamt für Umwelt", - "fr": "Office fédéral de l'environnement", - "it": "Ufficio federale dell'ambiente" + "de": "Unabhängige Aufsichtsbehörde über die nachrichtendienstlichen Tätigkeiten", + "fr": "Autorité de surveillance indépendante des activités de renseignement", + "it": "Autorità de vigilanza indipendente sulle attività informative", + "en": "Independent Oversight Authority for Intelligence Activities" } }, { - "id": "https://ld.admin.ch/office/IV.1.5a", + "id": "https://ld.admin.ch/office/IV.1.2", "name": { - "de": "Bundesamt für Landestopografie", - "fr": "Office fédéral de topographie", - "it": "Ufficio federale di topografia" + "de": "Nachrichtendienst des Bundes", + "fr": "Service de renseignement de la Confédération", + "it": "Servizio delle attività informative della Confederazione", + "en": "Federal Intelligence Service" } }, { - "id": "https://ld.admin.ch/office/IV.1.6", + "id": "https://ld.admin.ch/office/IV.1.3", "name": { - "de": "Bundesamt für Bevölkerungsschutz", - "fr": "Office fédéral de la protection de la population", - "it": "Ufficio federale della protezione della popolazione" + "de": "Oberauditorat", + "fr": "Office de l'auditeur en chef", + "it": "Ufficio dell'uditore in capo", + "en": "Office of the Armed Force Attorney General" } }, { - "id": "https://ld.admin.ch/office/IV.1.7", + "id": "https://ld.admin.ch/office/IV.1.1", "name": { - "de": "Bundesamt für Zivilluftfahrt", - "fr": "Office fédéral de l'aviation civile", - "it": "Ufficio federale dell'aviazione civile" + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale", + "en": "General Secretariat" } }, { - "id": "https://ld.admin.ch/office/IV.1.8", + "id": "https://ld.admin.ch/office/IV.1.5", "name": { - "de": "Bundesamt für Verkehr", - "fr": "Office fédéral des transports", - "it": "Ufficio federale dei trasporti" + "de": "Bundesamt für Rüstung", + "fr": "Office fédéral de l'armement", + "it": "Ufficio federale dell'armamento", + "en": "Federal Office for Defence Procurement" } }, { - "id": "https://ld.admin.ch/office/IV.2.1.1", + "id": "https://ld.admin.ch/office/IV.1.4", "name": { - "de": "Generalsekretariat", - "fr": "Secrétariat général", - "it": "Segreteria generale" + "de": "Gruppe Verteidigung", + "fr": "Groupement Défense", + "it": "Aggruppamento Difesa", + "en": "Defence Group" } } ] @@ -384,108 +441,122 @@ "name": { "de": "Eidgenössisches Finanzdepartement", "fr": "Département fédéral des finances", - "it": "Dipartimento federale delle finanze" + "it": "Dipartimento federale delle finanze", + "en": "Federal Department of Finance" }, "abbreviation": { "de": "EFD", "fr": "DFF", - "it": "DFF" + "it": "DFF", + "en": "FDF" }, "organisations": [ { - "id": "https://ld.admin.ch/office/V.1.1", + "id": "https://ld.admin.ch/office/V.1.8", "name": { - "de": "Generalsekretariat EFD", - "fr": "Secrétariat général DFF", - "it": "Segreteria generale DFF" + "de": "Bundesamt für Bauten und Logistik", + "fr": "Office fédéral des constructions et de la logistique", + "it": "Ufficio federale delle costruzioni e della logistica", + "en": "Federal Office for Buildings and Logistics" } }, { - "id": "https://ld.admin.ch/office/V.1.2", + "id": "https://ld.admin.ch/office/V.2.1.1", "name": { - "de": "Eidgenössische Finanzverwaltung", - "fr": "Administration fédérale des finances", - "it": "Amministrazione federale delle finanze" + "de": "Eidgenössische Finanzkontrolle", + "fr": "Contrôle fédéral des finances", + "it": "Controllo federale delle finanze", + "en": "Swiss Federal Audit Office" } }, { - "id": "https://ld.admin.ch/office/V.1.3", + "id": "https://ld.admin.ch/office/V.1.7", "name": { - "de": "Eidgenössische Steuerverwaltung", - "fr": "Administration fédérale des contributions", - "it": "Amministrazione federale delle contribuzioni" + "de": "Bundesamt für Informatik und Telekommunikation", + "fr": "Office fédéral de l'informatique et de la télécommunication", + "it": "Ufficio federale dell'informatica e della telecomunicazione", + "en": "Federal Office of Information Technology, Systems and Telecommunication" } }, { - "id": "https://ld.admin.ch/office/V.1.4", + "id": "https://ld.admin.ch/office/V.2.2.2", "name": { - "de": "Eidgenössische Zollverwaltung", - "fr": "Administration fédérale des douanes", - "it": "Amministrazione federale delle dogane" + "de": "Pensionskasse des Bundes", + "fr": "Caisse fédérale de pensions", + "it": "Cassa pensioni della Confederazione", + "en": "Swiss Federal Pension Fund" } }, { - "id": "https://ld.admin.ch/office/V.1.5", + "id": "https://ld.admin.ch/office/V.2.2.1", "name": { "de": "Eidgenössische Finanzmarktaufsicht", "fr": "Autorité fédérale de surveillance des marchés financiers", - "it": "Autorità federale di vigilanza sui mercati finanziari" + "it": "Autorità federale di vigilanza sui mercati finanziari", + "en": "Swiss Federal Financial Market Supervisory Authority" } }, { - "id": "https://ld.admin.ch/office/V.1.6", + "id": "https://ld.admin.ch/office/V.1.9", "name": { - "de": "Eidgenössische Alkoholverwaltung", - "fr": "Administration fédérale des alcools", - "it": "Amministrazione federale degli alcool" + "de": "Informatiksteuerungsorgan des Bundes", + "fr": "Unité de pilotage informatique de la Confédération", + "it": "Organo direzione informatica della Confederazione", + "en": "" } }, { - "id": "https://ld.admin.ch/office/V.1.7", + "id": "https://ld.admin.ch/office/V.1.3", "name": { - "de": "Bundesamt für Informatik und Telekommunikation", - "fr": "Office fédéral de l'informatique et de la télécommunication", - "it": "Ufficio federale dell'informatica e della telecomunicazione" + "de": "Eidgenössische Finanzverwaltung", + "fr": "Administration fédérale des finances", + "it": "Amministrazione federale delle finanze", + "en": "Federal Finance Administration" } }, { - "id": "https://ld.admin.ch/office/V.1.8", + "id": "https://ld.admin.ch/office/V.1.2", "name": { - "de": "Bundesamt für Bauten und Logistik", - "fr": "Office fédéral des constructions et de la logistique", - "it": "Ufficio federale delle costruzioni e della logistica" + "de": "Staatssekretariat für internationale Finanzfragen", + "fr": "Secrétariat d'Etat aux questions financières internationales", + "it": "Segreteria di Stato per le questioni finanziarie internazionali", + "en": "State Secretariat for International Finance" } }, { - "id": "https://ld.admin.ch/office/V.1.9", + "id": "https://ld.admin.ch/office/V.1.4", "name": { - "de": "Informatiksteuerungsorgan des Bundes", - "fr": "Unité de pilotage informatique de la Confédération", - "it": "Organo direzione informatica della Confederazione" + "de": "Eidgenössisches Personalamt", + "fr": "Office fédéral du personnel", + "it": "Ufficio federale del personale", + "en": "Federal Office of Personnel" } }, { - "id": "https://ld.admin.ch/office/V.2.1.1", + "id": "https://ld.admin.ch/office/V.1.1", "name": { - "de": "Eidgenössische Finanzkontrolle", - "fr": "Contrôle fédéral des finances", - "it": "Controllo federale delle finanze" + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale", + "en": "General Secretariat" } }, { - "id": "https://ld.admin.ch/office/V.2.2.1", + "id": "https://ld.admin.ch/office/V.1.6", "name": { - "de": "Eidgenössische Finanzmarktaufsicht", - "fr": "Autorité fédérale de surveillance des marchés financiers", - "it": "Autorità federale di vigilanza sui mercati finanziari" + "de": "Bundesamt für Zoll und Grenzsicherheit", + "fr": "Office fédéral de la douane et de la sécurité des frontières", + "it": "Ufficio federale della dogana e della sicurezza dei confini", + "en": "Federal Office for Customs and Border Security" } }, { - "id": "https://ld.admin.ch/office/V.2.2.2", + "id": "https://ld.admin.ch/office/V.1.5", "name": { - "de": "Pensionskasse des Bundes", - "fr": "Caisse fédérale de pensions", - "it": "Cassa pensioni della Confederazione" + "de": "Eidgenössische Steuerverwaltung", + "fr": "Administration fédérale des contributions", + "it": "Amministrazione federale delle contribuzioni", + "en": "Federal Tax Administration" } } ] @@ -494,181 +565,204 @@ "id": "https://ld.admin.ch/department/VI", "name": { "de": "Eidgenössisches Departement für Wirtschaft, Bildung und Forschung", - "fr": "Département fédéral de l'économie, de la formation et de la recherche", - "it": "Dipartimento federale dell'economia, della formazione e della ricerca" + "fr": "Département fédéral de l’économie, de la formation et de la recherche", + "it": "Dipartimento federale dell'economia, della formazione e della ricerca", + "en": "Federal Department of Economic Affairs, Education and Research" }, "abbreviation": { "de": "WBF", "fr": "DEFR", - "it": "DEFR" + "it": "DEFR", + "en": "EAER" }, "organisations": [ { - "id": "https://ld.admin.ch/office/VI.1.1", + "id": "https://ld.admin.ch/office/VI.1.8", "name": { - "de": "Staatssekretariat für Wirtschaft", - "fr": "Secrétariat d'État à l'économie", - "it": "Segreteria di Stato dell'economia" + "de": "Bundesamt für Wohnungswesen", + "fr": "Office fédéral du logement", + "it": "Ufficio federale delle abitazioni", + "en": "Federal Office for Housing" } }, { - "id": "https://ld.admin.ch/office/VI.1.2", + "id": "https://ld.admin.ch/office/VI.1.9", "name": { - "de": "Staatssekretariat für Bildung, Forschung und Innovation", - "fr": "Secrétariat d'État à la formation, à la recherche et à l'innovation", - "it": "Segreteria di Stato per la formazione, la ricerca e l'innovazione" + "de": "Bundesamt für Zivildienst", + "fr": "Office fédéral du service civil", + "it": "Ufficio federale del servizio civile", + "en": "Federal Office for Civilian Service" } }, { - "id": "https://ld.admin.ch/office/VI.1.5", + "id": "https://ld.admin.ch/office/VI.1.7", "name": { - "de": "Bundesamt für Landwirtschaft", - "fr": "Office fédéral de l'agriculture", - "it": "Ufficio federale dell'agricoltura" + "de": "Bundesamt für wirtschaftliche Landesversorgung", + "fr": "Office fédéral pour l'approvisionnement économique du pays", + "it": "Ufficio federale per l'approvvigionamento economico del Paese", + "en": "Federal Office for National Economic Supply" } }, { - "id": "https://ld.admin.ch/office/VI.1.7", + "id": "https://ld.admin.ch/office/VI.2.2.4", "name": { - "de": "Bundesamt für wirtschaftliche Landesversorgung", - "fr": "Office fédéral pour l'approvisionnement économique du pays", - "it": "Ufficio federale per l'approvvigionamento economico del Paese" + "de": "Eidgenössische Hochschule für Berufsbildung", + "fr": "Haute école fédérale en formation professionnelle", + "it": "Scuola universitaria federale per la formazione professionale", + "en": "Swiss Federal University for Vocational Education and Training" } }, { - "id": "https://ld.admin.ch/office/VI.1.3", + "id": "https://ld.admin.ch/office/VI.2.2.7", "name": { - "de": "Bundesamt für Messwesen", - "fr": "Office fédéral de métrologie", - "it": "Ufficio federale di metrologia" + "de": "Paul-Scherrer-Institut", + "fr": "Institut Paul Scherrer", + "it": "Istituto Paul Scherrer", + "en": "Paul Scherrer Institute" } }, { - "id": "https://ld.admin.ch/office/VI.1.8", + "id": "https://ld.admin.ch/office/VI.2.2.8", "name": { - "de": "Bundesamt für Wohnungswesen", - "fr": "Office fédéral du logement", - "it": "Ufficio federale delle abitazioni" + "de": "Eidgenössische Forschungsanstalt für Wald, Schnee und Landschaft", + "fr": "Institut fédéral de recherches sur la forêt, la neige et le paysage", + "it": "Istituto federale di ricerca per la foresta, la neve e il paesaggio", + "en": "Swiss Federal Institute for Forest, Snow and Landscape Research" } }, { - "id": "https://ld.admin.ch/office/VI.1.4", + "id": "https://ld.admin.ch/office/VI.2.2.5", "name": { - "de": "Generalsekretariat", - "fr": "Secrétariat général", - "it": "Segreteria generale" + "de": "Eidgenössische Technische Hochschule Zürich", + "fr": "Ecole polytechnique fédérale de Zürich", + "it": "Politecnico federale di Zurigo", + "en": "Swiss Federal Institute of Technology Zurich" } }, { - "id": "https://ld.admin.ch/office/VI.1.9", + "id": "https://ld.admin.ch/office/VI.2.2.6", "name": { - "de": "Bundesamt für Berufsbildung und Technologie", - "fr": "Office fédéral de la formation professionnelle et de la technologie", - "it": "Ufficio federale della formazione professionale e della tecnologia" + "de": "Eidgenössische Technische Hochschule Lausanne", + "fr": "Ecole polytechnique fédérale de Lausanne", + "it": "Politecnico federale di Losanna", + "en": "Swiss Federal Institute of Technology Lausanne" } }, { - "id": "https://ld.admin.ch/office/VI.2.1.1", + "id": "https://ld.admin.ch/office/VI.2.2.11", "name": { - "de": "Bereich der Eidgenössischen Technischen Hochschulen", - "fr": "Domaine des écoles polytechniques fédérales", - "it": "Settore dei politecnici federali" + "de": "Schweizerische Agentur für Innovationsförderung", + "fr": "Agence suisse pour l'encouragement de l'innovation", + "it": "Agenzia svizzera per la promozione dell'innovazione", + "en": "Swiss Innovation Agency" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.1", + "id": "https://ld.admin.ch/office/VI.2.3.1", "name": { - "de": "Schweiz Tourismus", - "fr": "Suisse Tourisme", - "it": "Svizzera Turismo" + "de": "Swiss Investment Fund for Emerging Markets", + "fr": "Swiss Investment Fund for Emerging Markets", + "it": "Swiss Investment Fund for Emerging Markets", + "en": "Swiss Investment Fund for Emerging Markets" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.2", + "id": "https://ld.admin.ch/office/VI.2.2.9", "name": { - "de": "Schweizerische Gesellschaft für Hotelkredit", - "fr": "Société suisse de crédit hôtelier", - "it": "Società svizzera di credito alberghiero" + "de": "Eidgenössische Materialprüfungs- und Forschungsanstalt", + "fr": "Laboratoire fédéral d'essai des matériaux et de recherche", + "it": "Laboratorio federale di prova dei materiali e di ricerca", + "en": "Swiss Federal Laboratories for Materials Science and Technology" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.3", + "id": "https://ld.admin.ch/office/VI.2.2.10", "name": { - "de": "Schweizerische Exportrisikoversicherung", - "fr": "Assurance suisse contre les risques à l'exportation", - "it": "Assicurazione svizzera contro i rischi delle esportazioni" + "de": "Eidgenössische Anstalt für Wasserversorgung, Abwasserreinigung und Gewässerschutz", + "fr": "Institut fédéral pour l’aménagement, l’épuration et la protection des eaux", + "it": "Istituto federale per l'approvvigionamento, la depurazione e la protezione delle acque", + "en": "Swiss Federal Institute of Aquatic Science and Technology" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.4", + "id": "https://ld.admin.ch/office/VI.2.1.1", "name": { - "de": "Schweizerische Nationalbank", - "fr": "Banque nationale suisse", - "it": "Banca nazionale svizzera" + "de": "Bereich der Eidgenössischen Technischen Hochschulen", + "fr": "Domaine des écoles polytechniques fédérales", + "it": "Settore dei politecnici federali", + "en": "Domain of the Swiss Federal Institutes of Technology" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.5", + "id": "https://ld.admin.ch/office/VI.2.2.2", "name": { - "de": "Eidgenössische Bankenkommission", - "fr": "Commission fédérale des banques", - "it": "Commissione federale delle banche" + "de": "Schweizerische Gesellschaft für Hotelkredit", + "fr": "Société suisse de crédit hôtelier", + "it": "Società svizzera di credito alberghiero", + "en": "Swiss Association for Hotel Credit" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.6", + "id": "https://ld.admin.ch/office/VI.2.2.3", "name": { - "de": "Eidgenössische Spielbankenkommission", - "fr": "Commission fédérale des maisons de jeu", - "it": "Commissione federale delle case da gioco" + "de": "Schweizerische Exportrisikoversicherung SERV:", + "fr": "Assurance suisse contre les risques à l'exportation (ASRE)", + "it": "Assicurazione svizzera contro i rischi delle esportazioni (ASRE)", + "en": "Swiss Export Risk Insurance SERV" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.7", + "id": "https://ld.admin.ch/office/VI.2.2.1", "name": { - "de": "Eidgenössische Elektrizitätskommission", - "fr": "Commission fédérale de l'électricité", - "it": "Commissione federale dell'elettricità" + "de": "Schweiz Tourismus", + "fr": "Suisse Tourisme", + "it": "Svizzera Turismo", + "en": "Switzerland Tourism" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.8", + "id": "https://ld.admin.ch/office/VI.1.3", "name": { - "de": "Eidgenössische Wettbewerbskommission", - "fr": "Commission de la concurrence", - "it": "Commissione della concorrenza" + "de": "Staatssekretariat für Wirtschaft", + "fr": "Secrétariat d'Etat à l'économie", + "it": "Segreteria di Stato dell'economia", + "en": "State Secretariat for Economic Affairs" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.9", + "id": "https://ld.admin.ch/office/VI.1.1", "name": { - "de": "Eidgenössische Materialprüfungs- und Forschungsanstalt", - "fr": "Laboratoire fédéral d'essai des matériaux et de recherche", - "it": "Laboratorio federale di prova dei materiali e di ricerca" + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale", + "en": "General Secretariat" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.10", + "id": "https://ld.admin.ch/office/VI.1.2", "name": { - "de": "Eidgenössische Anstalt für Wasserversorgung, Abwasserreinigung und Gewässerschutz", - "fr": "Institut fédéral pour l'aménagement, l'épuration et la protection des eaux", - "it": "Istituto federale per l'approvvigionamento, la depurazione e la protezione delle acque" + "de": "Preisüberwachung", + "fr": "Surveillance des prix", + "it": "Sorveglianza dei prezzi", + "en": "Office of the Price Supervisor" } }, { - "id": "https://ld.admin.ch/office/VI.2.2.11", + "id": "https://ld.admin.ch/office/VI.1.5", "name": { - "de": "Schweizerische Agentur für Innovationsförderung", - "fr": "Agence suisse pour l'encouragement de l'innovation", - "it": "Agenzia svizzera per la promozione dell'innovazione" + "de": "Bundesamt für Landwirtschaft", + "fr": "Office fédéral de l'agriculture", + "it": "Ufficio federale dell'agricoltura", + "en": "Federal Office for Agriculture" } }, { - "id": "https://ld.admin.ch/office/VI.2.3.1", + "id": "https://ld.admin.ch/office/VI.1.4", "name": { - "de": "Schweizerischer Nationalfonds zur Förderung der wissenschaftlichen Forschung", - "fr": "Fonds national suisse de la recherche scientifique", - "it": "Fondo nazionale svizzero per la ricerca scientifica" + "de": "Staatssekretariat für Bildung, Forschung und Innovation", + "fr": "Secrétariat d'Etat à la formation, à la recherche et à l'innovation", + "it": "Segreteria di Stato per la formazione, la ricerca e l'innovazione", + "en": "State Secretariat for Education, Research and Innovation" } } ] @@ -678,100 +772,113 @@ "name": { "de": "Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommunikation", "fr": "Département fédéral de l'environnement, des transports, de l'énergie et de la communication", - "it": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni" + "it": "Dipartimento federale dell'ambiente, dei trasporti, dell'energia e delle comunicazioni", + "en": "Federal Department of the Environment, Transport, Energy and Communications" }, "abbreviation": { "de": "UVEK", "fr": "DETEC", - "it": "DATEC" + "it": "DATEC", + "en": "DETEC" }, "organisations": [ { - "id": "https://ld.admin.ch/office/VII.1.1", + "id": "https://ld.admin.ch/office/VII.1.6", "name": { - "de": "Generalsekretariat UVEK", - "fr": "Secrétariat général DETEC", - "it": "Segreteria generale DATEC" + "de": "Bundesamt für Kommunikation", + "fr": "Office fédéral de la communication", + "it": "Ufficio federale delle comunicazioni", + "en": "Federal Office of Communications" } }, { - "id": "https://ld.admin.ch/office/VII.1.2", + "id": "https://ld.admin.ch/office/VII.1.7", "name": { "de": "Bundesamt für Umwelt", "fr": "Office fédéral de l'environnement", - "it": "Ufficio federale dell'ambiente" + "it": "Ufficio federale dell'ambiente", + "en": "Federal Office for the Environment" } }, { - "id": "https://ld.admin.ch/office/VII.1.3", + "id": "https://ld.admin.ch/office/VII.1.5", "name": { - "de": "Bundesamt für Verkehr", - "fr": "Office fédéral des transports", - "it": "Ufficio federale dei trasporti" + "de": "Bundesamt für Strassen", + "fr": "Office fédéral des routes", + "it": "Ufficio federale delle strade", + "en": "Federal Roads Office" } }, { - "id": "https://ld.admin.ch/office/VII.1.4", + "id": "https://ld.admin.ch/office/VII.1.8", "name": { - "de": "Bundesamt für Kommunikation", - "fr": "Office fédéral de la communication", - "it": "Ufficio federale delle comunicazioni" + "de": "Bundesamt für Raumentwicklung", + "fr": "Office fédéral du développement territorial", + "it": "Ufficio federale dello sviluppo territoriale", + "en": "Federal Office for Spatial Development" } }, { - "id": "https://ld.admin.ch/office/VII.1.5", + "id": "https://ld.admin.ch/office/VII.2.2.2", "name": { - "de": "Bundesamt für Energie", - "fr": "Office fédéral de l'énergie", - "it": "Ufficio federale dell'energia" + "de": "Stilllegungs- und Entsorgungsfonds für Kernanlagen", + "fr": "Fonds de désaffectation et Fonds de gestion pour les installations nucléaires", + "it": "Fondo di disattivazione e Fondo di smaltimento per gli impianti nucleari", + "en": "Waste Disposal Fund for Nuclear Installations" } }, { - "id": "https://ld.admin.ch/office/VII.1.6", + "id": "https://ld.admin.ch/office/VII.2.2.3", "name": { - "de": "Bundesamt für Raumentwicklung", - "fr": "Office fédéral du développement territorial", - "it": "Ufficio federale dello sviluppo territoriale" + "de": "Schweizerische Trassenvergabestelle", + "fr": "Service suisse d'attribution des sillons", + "it": "Servizio svizzero di assegnazione delle tracce", + "en": "Swiss Capacity Allocation Body" } }, { - "id": "https://ld.admin.ch/office/VII.1.7", + "id": "https://ld.admin.ch/office/VII.2.2.1", "name": { - "de": "Bundesamt für Meteorologie und Klimatologie", - "fr": "Office fédéral de météorologie et de climatologie", - "it": "Ufficio federale di meteorologia e climatologia" + "de": "Eidgenössisches Nuklearsicherheitsinspektorat", + "fr": "Inspection fédérale de la sécurité nucléaire", + "it": "Ispettorato federale della sicurezza nucleare", + "en": "Swiss Federal Nuclear Safety Inspectorate" } }, { - "id": "https://ld.admin.ch/office/VII.1.8", + "id": "https://ld.admin.ch/office/VII.1.2", "name": { - "de": "Bundesamt für Strassen", - "fr": "Office fédéral des routes", - "it": "Ufficio federale delle strade" + "de": "Bundesamt für Verkehr", + "fr": "Office fédéral des transports", + "it": "Ufficio federale dei trasporti", + "en": "Federal Office of Transport" } }, { - "id": "https://ld.admin.ch/office/VII.2.2.1", + "id": "https://ld.admin.ch/office/VII.1.3", "name": { - "de": "Eidgenössische Natur- und Heimatschutzkommission", - "fr": "Commission fédérale pour la protection de la nature et du paysage", - "it": "Commissione federale per la protezione della natura e del paesaggio" + "de": "Bundesamt für Zivilluftfahrt", + "fr": "Office fédéral de l'aviation civile", + "it": "Ufficio federale dell'aviazione civile", + "en": "Federal Office of Civil Aviation" } }, { - "id": "https://ld.admin.ch/office/VII.2.2.2", + "id": "https://ld.admin.ch/office/VII.1.1", "name": { - "de": "Eidgenössische Kommission für Lufthygiene", - "fr": "Commission fédérale de l'hygiène de l'air", - "it": "Commissione federale per l'igiene dell'aria" + "de": "Generalsekretariat", + "fr": "Secrétariat général", + "it": "Segreteria generale", + "en": "General Secretariat" } }, { - "id": "https://ld.admin.ch/office/VII.2.2.3", + "id": "https://ld.admin.ch/office/VII.1.4", "name": { - "de": "Eidgenössische Kommission für biologische Sicherheit", - "fr": "Commission fédérale pour la sécurité biologique", - "it": "Commissione federale per la sicurezza biologica" + "de": "Bundesamt für Energie", + "fr": "Office fédéral de l'énergie", + "it": "Ufficio federale dell'energia", + "en": "Swiss Federal Office of Energy" } } ] @@ -781,12 +888,14 @@ "name": { "de": "Bundeskanzlei", "fr": "Chancellerie fédérale", - "it": "Cancelleria federale" + "it": "Cancelleria federale", + "en": "Federal Chancellery" }, "abbreviation": { "de": "BK", "fr": "ChF", - "it": "CaF" + "it": "CaF", + "en": "FCh" }, "organisations": [ { @@ -794,9 +903,10 @@ "name": { "de": "Bundeskanzlei", "fr": "Chancellerie fédérale", - "it": "Cancelleria federale" + "it": "Cancelleria federale", + "en": "Federal Chancellery" } } ] } -] \ No newline at end of file +] From 20b5b579c815ae74ae8313fd60c827c120bf693b Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Mon, 20 Oct 2025 18:08:09 +0200 Subject: [PATCH 10/19] feat: update organisation on uri change --- src/app/components/Editor.tsx | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/app/components/Editor.tsx b/src/app/components/Editor.tsx index 361882bf..8fc207d6 100644 --- a/src/app/components/Editor.tsx +++ b/src/app/components/Editor.tsx @@ -259,14 +259,32 @@ export default function Editor() { [setValue] ); + const updateOrganisation = useCallback( + (value: Partial) => { + const uri = value.organisation?.uri; + + if (uri) { + const organisation = organisations.find(o => o.value === uri); + setValue("organisation.name", organisation?.text); + } else { + setValue("organisation.uri", undefined) + setValue("organisation.name", undefined); + } + }, + [organisations, setValue] + ) + useEffect(() => { const subscription = watch((value, { name }) => { if (name === "maintenance.type") { resetMaintenance(value as PublicCode); } + if (name === "organisation.uri") { + updateOrganisation(value as PublicCode) + } }); return () => subscription.unsubscribe(); - }, [watch, resetMaintenance]); + }, [watch, resetMaintenance, updateOrganisation]); //#endregion //#region form action handlers From 958e8d3019792de01ed1c29396c172d0a2aca1e9 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Mon, 20 Oct 2025 18:24:55 +0200 Subject: [PATCH 11/19] chore: update translations --- src/i18n/locales/de.json | 4 ++-- src/i18n/locales/en.json | 4 ++-- src/i18n/locales/fr.json | 4 ++-- src/i18n/locales/it.json | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index c92f434b..6157d9a5 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -325,8 +325,8 @@ }, "organisation": { "uri": { - "label": "Organisations-URI", - "description": "Die URI der Organisation, die die Software betreut." + "label": "Organisation", + "description": "Die Organisation, die die Software betreut." } }, "isBasedOn": { diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 1065672a..9dff4d16 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -341,8 +341,8 @@ }, "organisation": { "uri": { - "label": "Organisation URI", - "description": "The URI of the organisation that maintains the software." + "label": "Organisation", + "description": "The organisation that maintains the software." } }, "isBasedOn": { diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index a02322c7..0021a494 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -338,8 +338,8 @@ }, "organisation": { "uri": { - "label": "URI de l'organisation", - "description": "L'URI de l'organisation qui maintient le logiciel." + "label": "Organisation", + "description": "L'organisation qui maintient le logiciel." } }, "isBasedOn": { diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index bd509646..0f1387ae 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -342,8 +342,8 @@ }, "organisation": { "uri": { - "label": "URI dell'organizzazione", - "description": "L'URI dell'organizzazione che mantiene il software." + "label": "Organizzazione", + "description": "L'organizzazione che mantiene il software." } }, "isBasedOn": { From cc93394697e1c8b0c8d11d83f2620ca9b6a9d4bd Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Wed, 22 Oct 2025 10:11:53 +0200 Subject: [PATCH 12/19] chore: update parser to v5.2.1 --- go.work.sum | 2 ++ src/wasm/go.mod | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.work.sum b/go.work.sum index 5c8c731a..02ed32c7 100644 --- a/go.work.sum +++ b/go.work.sum @@ -13,6 +13,8 @@ github.com/italia/publiccode-parser-go v1.2.4/go.mod h1:zYlDR8AbitTI9RzX3IRV73tq github.com/italia/publiccode-parser-go/v3 v3.0.0/go.mod h1:MXFsgghRD+t6k+08WEeRLNrlTzvPo1AqIRL2tRB4tDE= github.com/italia/publiccode-parser-go/v5 v5.1.1 h1:XVuWXNohNJfSvvXO3OjBoKJU09UELEtRXFpkSwOttvg= github.com/italia/publiccode-parser-go/v5 v5.1.1/go.mod h1:xndoanQHcweEnJlubntvOHlT/cvde0eFDF59O5PwuCg= +github.com/italia/publiccode-parser-go/v5 v5.2.1 h1:9aDiCrh84nHAJzDRhf/Gx+exusfd4iQ0GCwtEwofeqo= +github.com/italia/publiccode-parser-go/v5 v5.2.1/go.mod h1:xndoanQHcweEnJlubntvOHlT/cvde0eFDF59O5PwuCg= github.com/kyoh86/go-spdx v0.0.5-0.20220421143955-2f42f2d4c410/go.mod h1:0Ndah0G/f6NZOyvjm4hUmUGUjCKRzC1qirN4LKASBkM= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= diff --git a/src/wasm/go.mod b/src/wasm/go.mod index 3e613579..42998e7f 100644 --- a/src/wasm/go.mod +++ b/src/wasm/go.mod @@ -2,7 +2,7 @@ module github.com/italia/publiccode-editor/wasm go 1.23.9 -require github.com/italia/publiccode-parser-go/v5 v5.1.1 +require github.com/italia/publiccode-parser-go/v5 v5.2.1 require ( github.com/Jeffail/gabs v1.4.0 // indirect From a22edebfefcc49816ef211fc118d344c61a0c5dc Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Wed, 22 Oct 2025 10:23:36 +0200 Subject: [PATCH 13/19] chore: update latest version to 5.0 --- src/app/contents/publiccode.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/contents/publiccode.ts b/src/app/contents/publiccode.ts index f1c9c5d7..8520b234 100644 --- a/src/app/contents/publiccode.ts +++ b/src/app/contents/publiccode.ts @@ -4,7 +4,7 @@ import maintenanceTypes from "./maintenanceTypes"; import scopes from "./scopes"; import softwareTypes from "./softwareTypes"; -export const LATEST_VERSION = "0.4.0" +export const LATEST_VERSION = "0.5.0" // https://yml.publiccode.tools/schema.core.html export default interface PublicCode { From c8bf770916a9c1321d008e2aa900d646735f74e7 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Fri, 24 Oct 2025 12:39:38 +0200 Subject: [PATCH 14/19] fix: reset organisation when deselected --- src/app/components/Editor.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/components/Editor.tsx b/src/app/components/Editor.tsx index 8fc207d6..63d3006b 100644 --- a/src/app/components/Editor.tsx +++ b/src/app/components/Editor.tsx @@ -267,8 +267,7 @@ export default function Editor() { const organisation = organisations.find(o => o.value === uri); setValue("organisation.name", organisation?.text); } else { - setValue("organisation.uri", undefined) - setValue("organisation.name", undefined); + setValue("organisation", undefined) } }, [organisations, setValue] From f3f13f6fb8875beca2c62ff3eee99a3ed654f7bf Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Fri, 24 Oct 2025 12:49:05 +0200 Subject: [PATCH 15/19] test: fix semver check --- src/app/semver.spec.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/app/semver.spec.ts b/src/app/semver.spec.ts index 1f7389e3..a886b763 100644 --- a/src/app/semver.spec.ts +++ b/src/app/semver.spec.ts @@ -14,7 +14,8 @@ describe('semver test', () => { toSemVerObject('0.3.0'), toSemVerObject('0.4.0'), toSemVerObject('0.4.1'), - toSemVerObject('0.5'), + toSemVerObject('0.5.0'), + toSemVerObject("0.6") ]; //act const [ @@ -24,7 +25,8 @@ describe('semver test', () => { actual03, actual04, actual041, - actual05 + actual05, + actual06 ] = versionsUnderTests.map(v => isMinorThanLatest(v)); //assert @@ -32,9 +34,10 @@ describe('semver test', () => { expect(actual02).toBeTruthy(); expect(actual021).toBeTruthy(); expect(actual03).toBeTruthy(); - expect(actual04).toBeFalsy(); - expect(actual041).toBeFalsy(); - expect(actual041).toBeFalsy(); + expect(actual04).toBeTruthy(); + expect(actual041).toBeTruthy(); + expect(actual041).toBeTruthy(); expect(actual05).toBeFalsy(); + expect(actual06).toBeFalsy(); }) }) \ No newline at end of file From 770f90f051a4921a5a7d505d533acdb9e29d904d Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Fri, 24 Oct 2025 13:17:00 +0200 Subject: [PATCH 16/19] feat: improve organisation filtering --- src/app/components/Editor.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/components/Editor.tsx b/src/app/components/Editor.tsx index 63d3006b..785b532c 100644 --- a/src/app/components/Editor.tsx +++ b/src/app/components/Editor.tsx @@ -565,6 +565,7 @@ export default function Editor() { fieldName="organisation.uri" data={organisations} + filter="contains" /> From 1fc36f61253bdc39cf18b813fa71db6d16f25488 Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Fri, 24 Oct 2025 14:34:37 +0200 Subject: [PATCH 17/19] fix: only show (unset) in dropdown --- src/app/components/EditorSelect.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/app/components/EditorSelect.tsx b/src/app/components/EditorSelect.tsx index 2ea1b04d..a6629f74 100644 --- a/src/app/components/EditorSelect.tsx +++ b/src/app/components/EditorSelect.tsx @@ -48,9 +48,16 @@ export default function EditorSelect< onChange(value) }} value={value} - data={[...(!required ? [{ text: "(unset)", value: "" }] : []), ...data]} + data={[...(!required ? [{text: "", value: ""}] : []), ...data]} dataKey="value" textField="text" + renderListItem={(item) => { + if (item.value === "") { + return (unset); + } else { + return {item.text}; + } + }} filter={filter} groupBy={"group"} /> From 022c5603771ba5c027b1a5d38c2db80b0a4bc16e Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Mon, 27 Oct 2025 13:39:48 +0100 Subject: [PATCH 18/19] fix: handle missing english translations --- src/app/data/generateOrganisations.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/data/generateOrganisations.ts b/src/app/data/generateOrganisations.ts index 3ec732a1..b3151918 100644 --- a/src/app/data/generateOrganisations.ts +++ b/src/app/data/generateOrganisations.ts @@ -100,13 +100,13 @@ function generateOrganisations(): void { de: data.info.nameDepDe.value, fr: data.info.nameDepFr.value, it: data.info.nameDepIt.value, - en: data.info.nameDepEn?.value, + en: data.info.nameDepEn?.value || '', }, abbreviation: { de: data.info.altNameDepDe.value, fr: data.info.altNameDepFr.value, it: data.info.altNameDepIt.value, - en: data.info.altNameDepEn?.value, + en: data.info.altNameDepEn?.value || '', }, organisations: data.offices.map(office => ({ id: office.office!.value, @@ -114,7 +114,7 @@ function generateOrganisations(): void { de: office.nameDe.value, fr: office.nameFr.value, it: office.nameIt.value, - en: office.nameEn?.value, + en: office.nameEn?.value || '', } })) }; @@ -145,7 +145,7 @@ function generateOrganisations(): void { de: binding.nameDepDe.value, fr: binding.nameDepFr.value, it: binding.nameDepIt.value, - en: binding.nameDepEn?.value, + en: binding.nameDepEn?.value || '', } }] }; From b562733d092ed3427e75c8578e0fa92a0f2ca56b Mon Sep 17 00:00:00 2001 From: Claudia Asti Date: Mon, 27 Oct 2025 13:40:12 +0100 Subject: [PATCH 19/19] chore: run generate organisation a post install script --- package-lock.json | 1 + package.json | 1 + 2 files changed, 2 insertions(+) diff --git a/package-lock.json b/package-lock.json index 7302f48d..9a5ae9be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "publiccode-editor", "version": "2.1.1", + "hasInstallScript": true, "license": "AGPL-3.0-or-later", "dependencies": { "@uiw/react-md-editor": "^4.0.5", diff --git a/package.json b/package.json index 72ace7e6..3ba94d29 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "gdeploy": "gh-pages -u 'Deploy Bot ' -d dist", "deploy": "gh-pages -u 'Deploy Bot ' -d dist", "release": "release-it", + "postinstall": "npm run build:organisations", "_postinstall": "patch-package" }, "keywords": [