From 6fffb76ee26e11d5d8d65c054b36ffcc98ea48cc Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:18:20 +0100 Subject: [PATCH 01/19] remove old no more used controller --- app/controllers/precache_controller.rb | 96 -------------------------- 1 file changed, 96 deletions(-) delete mode 100644 app/controllers/precache_controller.rb diff --git a/app/controllers/precache_controller.rb b/app/controllers/precache_controller.rb deleted file mode 100644 index 7f2664d07..000000000 --- a/app/controllers/precache_controller.rb +++ /dev/null @@ -1,96 +0,0 @@ -require 'uri' - -class PrecacheController < ApplicationController - - $UI_PORT = "80" - # $UI_PORT = "3000" - - - def self.precache_all(delete_cache = false) - if delete_cache - p t('precache.delete_general_cache_info') - CACHE.delete("act_ont_list") - CACHE.delete("ont_list") - CACHE.delete("ontology_acronyms") - CACHE.delete("classes_all_ontologies") - end - - get_url("http://localhost:#{$UI_PORT}") - get_url("http://localhost:#{$UI_PORT}/ontologies") - get_url("http://localhost:#{$UI_PORT}/mappings") - precache_ontology_summary(delete_cache) - precache_ontology_notes(delete_cache) - precache_ontology_mappings(delete_cache) - precache_ontology_classes(delete_cache) - end - - def self.precache_ontology_classes(delete_cache = false) - ontologies = DataAccess.getOntologyList - ontologies.each do |ont| - if delete_cache - # remove relevant cache data - end - - get_url("http://localhost:#{$UI_PORT}/ontologies/#{ont.ontologyId}?p=classes") - end - end - - def self.precache_ontology_summary(delete_cache = false) - ontologies = DataAccess.getOntologyList - ontologies.each do |ont| - if delete_cache - p t('precache.delete_cache_ontology', ont: ont.displayLabel) - CACHE.delete("#{ont.ontologyId}::_latest") - CACHE.delete("#{ont.ontologyId}::_versions") - CACHE.delete("#{ont.ontologyId}::_details") - CACHE.delete("#{ont.ontologyId}::_metrics") - end - - get_url("http://localhost:#{$UI_PORT}/ontologies/#{ont.ontologyId}") - end - end - - def self.precache_ontology_mappings(delete_cache = false) - ontologies = DataAccess.getOntologyList - ontologies.each do |ont| - if delete_cache - CACHE.delete("between_ontologies::map_count::#{ont.ontologyId}") - end - - get_url("http://localhost:#{$UI_PORT}/ontologies/#{ont.ontologyId}?p=mappings") - end - end - - def self.precache_ontology_notes(delete_cache = false) - ontologies = DataAccess.getOntologyList - ontologies.each do |ont| - if delete_cache - # remove relevant cache data - end - - get_url("http://localhost:#{$UI_PORT}/ontologies/#{ont.ontologyId}?p=notes") - end - end - - def self.get_url(url) - p url - uri = URI.parse(url) - - http = Net::HTTP.new(uri.host, uri.port) - http.read_timeout = 360 - - begin - timer = Time.now - res = http.start { |con| - path = uri.path.empty? ? "/" : uri.path - con.get(path) - } - p t('precache.retrieved_time', time: (Time.now - timer).to_f.round(2)) - rescue Exception => e - p t('precache.failed_to_get_url', url: url, message: e.message) - end - - res.body - end - -end From c88887c48a85c5cfc84a9524e43fb8faf4d03b9f Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:18:45 +0100 Subject: [PATCH 02/19] correct the casing of the imported stimulus controller --- app/javascript/controllers/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/controllers/index.js b/app/javascript/controllers/index.js index ac732c9ba..14bf869e4 100644 --- a/app/javascript/controllers/index.js +++ b/app/javascript/controllers/index.js @@ -100,5 +100,5 @@ application.register('annotator', AnnotatorController) import FormUrlController from "./form_url_controller" application.register('form-url', FormUrlController) -import ontologiesSelector from "./ontologies_selector_controller" -application.register("ontologies-selector", ontologiesSelector) +import OntologiesSelector from "./ontologies_selector_controller" +application.register("ontologies-selector", OntologiesSelector) From 9ed3870a52aecb4fbc98bf803f7609ba5671aeef Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:19:42 +0100 Subject: [PATCH 03/19] remove the internationalization of template string the search components --- .../agent_search_input_component.html.haml | 4 ++-- .../ontology_search_input_component.html.haml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/components/agent_search_input_component/agent_search_input_component.html.haml b/app/components/agent_search_input_component/agent_search_input_component.html.haml index 6ea61b2e9..13a1101ed 100644 --- a/app/components/agent_search_input_component/agent_search_input_component.html.haml +++ b/app/components/agent_search_input_component/agent_search_input_component.html.haml @@ -6,6 +6,6 @@ - s.template do %a{href: "LINK", class: "search-content", 'data-turbo-frame': '_self'} %p.search-element.home-searched-ontology - = t('components.name_identifiers') + NAME(ACRONYM) %p.home-result-type - = t('components.type') \ No newline at end of file + TYPE \ No newline at end of file diff --git a/app/components/ontology_search_input_component/ontology_search_input_component.html.haml b/app/components/ontology_search_input_component/ontology_search_input_component.html.haml index 46dad74e3..ca9f7df33 100644 --- a/app/components/ontology_search_input_component/ontology_search_input_component.html.haml +++ b/app/components/ontology_search_input_component/ontology_search_input_component.html.haml @@ -6,6 +6,6 @@ - s.template do %a{href: "LINK", class: "search-content", 'data-turbo-frame': '_top'} %p.search-element.home-searched-ontology - = t('components.name_acronym') + NAME(ACRONYM) %p.home-result-type - = t('components.type') \ No newline at end of file + TYPE \ No newline at end of file From c09ca0369764ee018690f22eb30cfc5fed5aa04f Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:20:32 +0100 Subject: [PATCH 04/19] update internationilaztion helper to add the class method version --- app/controllers/application_controller.rb | 4 ---- app/helpers/internationalisation_helper.rb | 11 +++++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index faf03578d..c300098ad 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -714,10 +714,6 @@ def request_lang helpers.request_lang end - def self.t(*args) - I18n.t(*args) - end - private def not_found_record(exception) @error_message = exception.message diff --git a/app/helpers/internationalisation_helper.rb b/app/helpers/internationalisation_helper.rb index 07f542beb..b4411c821 100644 --- a/app/helpers/internationalisation_helper.rb +++ b/app/helpers/internationalisation_helper.rb @@ -1,7 +1,10 @@ module InternationalisationHelper - #Implement logic to make the term 'ontology' configurable throughout the portal, allowing it to be replaced with the variable $RESOURCE_TERM - def t(*args) + # Implement logic to make the term 'ontology' configurable throughout the portal, + # allowing it to be replaced with the variable $RESOURCE_TERM + def self.t(*args) + return I18n.t(*args) unless $RESOURCE_TERM + translation = I18n.t(*args).downcase term = I18n.t("resource_term.ontology") plural_term = I18n.t("resource_term.ontology_plural") @@ -28,4 +31,8 @@ def t(*args) end end + def t(*args) + InternationalisationHelper.t(*args) + end + end From 4cc59dd049bf7344cf9e9b1f85e7c57d0a9d0baf Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:22:38 +0100 Subject: [PATCH 05/19] clean the include of internationalisation helper in some files --- app/components/ontology_subscribe_button_component.rb | 2 +- app/controllers/recommender_controller.rb | 2 +- config/bioportal_config_test.rb | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/components/ontology_subscribe_button_component.rb b/app/components/ontology_subscribe_button_component.rb index 689d9052e..9faec90ab 100644 --- a/app/components/ontology_subscribe_button_component.rb +++ b/app/components/ontology_subscribe_button_component.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class OntologySubscribeButtonComponent < ViewComponent::Base - include ApplicationHelper + include InternationalisationHelper def initialize(id: '', ontology_id:, subscribed:, user_id:, count: 0, link: 'javascript:void(0);') super @id = id diff --git a/app/controllers/recommender_controller.rb b/app/controllers/recommender_controller.rb index 1c7c2fc7c..64759cd50 100644 --- a/app/controllers/recommender_controller.rb +++ b/app/controllers/recommender_controller.rb @@ -1,7 +1,7 @@ class RecommenderController < ApplicationController layout :determine_layout include ApplicationHelper - include InternationalisationHelper + # REST_URI is defined in application_controller.rb RECOMMENDER_URI = "/recommender" diff --git a/config/bioportal_config_test.rb b/config/bioportal_config_test.rb index d716eb8f6..3487a3628 100644 --- a/config/bioportal_config_test.rb +++ b/config/bioportal_config_test.rb @@ -12,7 +12,7 @@ $FAIRNESS_URL = ENV['FAIRNESS_URL'] # Resource term -$RESOURCE_TERM = ENV['RESOURCE_TERM'] +$RESOURCE_TERM = ENV['RESOURCE_TERM'] || 'ontology' # config/initializers/omniauth_providers.rb $OMNIAUTH_PROVIDERS = { @@ -221,6 +221,4 @@ $UI_THEME = :stageportal if File.exist?('config/bioportal_config_development_testportal.lirmm.fr.rb') require_relative 'bioportal_config_development_testportal.lirmm.fr' # local credentials -end - -$RESOURCE_TERM = ENV['RESOURCE_TERM'] || 'ontology' \ No newline at end of file +end \ No newline at end of file From 4da8ef264bbb7b93eafc03ec3bbcce25c73a9c05 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:22:52 +0100 Subject: [PATCH 06/19] remove unused helper --- app/helpers/application_helper.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 781a95cf8..93ec964f9 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -596,9 +596,6 @@ def empty_state(text) end end - def list_to_string(list) - list&.join(',') || '' - end def ontologies_selector(id:, label: nil, name: nil, selected: nil) content_tag(:div) do From a68e17a367fc6389719a1dcdbbfb90fa80793f21 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:23:06 +0100 Subject: [PATCH 07/19] remove the switch from the metadata curator --- .../ontologies_metadata_curator/_metadata_table.html.haml | 3 +-- app/views/ontologies_metadata_curator/_submission.html.haml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/app/views/ontologies_metadata_curator/_metadata_table.html.haml b/app/views/ontologies_metadata_curator/_metadata_table.html.haml index 665f98e46..a9fe6d167 100644 --- a/app/views/ontologies_metadata_curator/_metadata_table.html.haml +++ b/app/views/ontologies_metadata_curator/_metadata_table.html.haml @@ -15,7 +15,6 @@ - @metadata_sel.each do |meta| - h.th do %div - = render SwitchInputComponent.new(id: meta, name: 'selected_metadata[]', value: meta) do - %h6{style:'margin-top: 0.2rem'}=attr_label(meta, attr_metadata: attr_metadata(meta)) + %h6{style:'margin-top: 0.2rem'}=attr_label(meta, attr_metadata: attr_metadata(meta)) = render partial: 'submission', collection: @submissions, locals: {attributes: @metadata_sel} diff --git a/app/views/ontologies_metadata_curator/_submission.html.haml b/app/views/ontologies_metadata_curator/_submission.html.haml index ac487f364..07dddee34 100644 --- a/app/views/ontologies_metadata_curator/_submission.html.haml +++ b/app/views/ontologies_metadata_curator/_submission.html.haml @@ -3,8 +3,7 @@ %tr{id: id+'_row'} %th{scope:"row", style: 'width: 5%'} %div - = render SwitchInputComponent.new(id: submission.id, name: 'selected_acronyms[]', value: id) do - %h6{style:'margin-top: 0.2rem'}=id + %h6{style:'margin-top: 0.2rem'}=id - attributes.each do |meta| %td{style: "width: #{95 / attributes.size}%; vertical-align: top; word-break: break-word;"} = render partial: 'attribute_inline_editable', locals: {attribute: meta, submission: submission, ontology: nil} \ No newline at end of file From d5e2cf2c42bb6eca9392ad487c763a1dc507b448 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 00:23:42 +0100 Subject: [PATCH 08/19] update the search input stimulus controller to add searchEndpoint value --- .../search_input_component_controller.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/components/search_input_component/search_input_component_controller.js b/app/components/search_input_component/search_input_component_controller.js index b106c1ef4..f3322977c 100644 --- a/app/components/search_input_component/search_input_component_controller.js +++ b/app/components/search_input_component/search_input_component_controller.js @@ -10,7 +10,8 @@ export default class extends Controller { itemLinkBase: String, idKey: String, cache: {type: Boolean, default: true}, - selectedItem: Number + selectedItem: Number, + searchEndpoint: {type: String, default: '/search'} } connect() { @@ -91,7 +92,7 @@ export default class extends Controller { const inputValue = this.#inputValue(); let results_list = [] if (inputValue.length > 0) { - this.buttonTarget.href = `/search?q=${inputValue}`; + this.buttonTarget.href = `${this.searchEndpointValue}?q=${inputValue}`; this.actionLinks.forEach(action => { const content = action.querySelector('p') content.innerHTML = inputValue From fdabcfc148d0460193868888a4b09937db0f64af Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 01:01:33 +0100 Subject: [PATCH 09/19] clean some old usage to jquery chosen to prepare its total removal --- app/assets/javascripts/bp_landscape.js | 7 ------- app/assets/javascripts/bp_mappings.js.erb | 2 -- app/assets/stylesheets/components/input_field.scss | 6 ------ app/controllers/projects_controller.rb | 5 +++-- app/helpers/inputs_helper.rb | 5 ++++- app/views/mappings/_ontology_mappings.html.haml | 4 +++- app/views/projects/_form.html.haml | 8 ++------ 7 files changed, 12 insertions(+), 25 deletions(-) diff --git a/app/assets/javascripts/bp_landscape.js b/app/assets/javascripts/bp_landscape.js index 24f451bdc..1048c2635 100644 --- a/app/assets/javascripts/bp_landscape.js +++ b/app/assets/javascripts/bp_landscape.js @@ -432,13 +432,6 @@ $(document).mouseup(function (e) } }); -jQuery(document).ready(function() { - "use strict"; - // enable selected search - jQuery("#selected_relations").chosen({ - search_contains: true - }); -}) // Hide more properties pie div on load to let the pie lib the time to get the parent div size (to size the pie chart) window.onload = function() { diff --git a/app/assets/javascripts/bp_mappings.js.erb b/app/assets/javascripts/bp_mappings.js.erb index 69f2a726d..c47edb29f 100644 --- a/app/assets/javascripts/bp_mappings.js.erb +++ b/app/assets/javascripts/bp_mappings.js.erb @@ -71,8 +71,6 @@ jQuery(document).ready(function(){ updateMappingCount(); updateMappingDeletePermissions(); - jQuery("#search_ontologies").chosen({search_contains: true, width:"100%"}); - // Handle visualization changes jQuery("#display_options input").on("click", function(e, button){ var selectedOnt = jQuery("#search_ontologies").val(); diff --git a/app/assets/stylesheets/components/input_field.scss b/app/assets/stylesheets/components/input_field.scss index 533dd7dac..fff132fc5 100644 --- a/app/assets/stylesheets/components/input_field.scss +++ b/app/assets/stylesheets/components/input_field.scss @@ -34,9 +34,3 @@ margin-top: 5px; } - -.chosen-container { - padding: 0; - border-radius: 5px; -} - diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 21878dd2b..490072b4b 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -160,8 +160,9 @@ def destroy def project_params p = params.require(:project).permit(:name, :acronym, :institution, :contacts, { creator:[] }, :homePage, :description, { ontologyUsed:[] }) - p[:creator].reject!(&:blank?) - p[:ontologyUsed].reject!(&:blank?) + + p[:creator]&.reject!(&:blank?) + p[:ontologyUsed]&.reject!(&:blank?) p.to_h end diff --git a/app/helpers/inputs_helper.rb b/app/helpers/inputs_helper.rb index 4fc674252..15ed566e3 100644 --- a/app/helpers/inputs_helper.rb +++ b/app/helpers/inputs_helper.rb @@ -9,13 +9,16 @@ def text_input(name:, value:nil, label: nil, disabled: false, help: nil, error_m data: data) end - def select_input(name:, values:, id: nil, label: nil, selected: nil, multiple: false, help: nil, open_to_add: false, required: false, data: {}) + def select_input(name:, values:, id: nil, label: nil, selected: nil, multiple: false, help: nil, open_to_add: false, required: false, + placeholder: nil, + data: {}) render Input::SelectComponent.new(label: input_label(label, name), id: id || name, name: name, value: values, selected: selected, multiple: multiple, helper_text: help, open_to_add_values: open_to_add, required: required, + placeholder: placeholder, data: data) end diff --git a/app/views/mappings/_ontology_mappings.html.haml b/app/views/mappings/_ontology_mappings.html.haml index 3e0689d94..d34ccc8c7 100644 --- a/app/views/mappings/_ontology_mappings.html.haml +++ b/app/views/mappings/_ontology_mappings.html.haml @@ -11,7 +11,9 @@ - if @options.empty? = t('mappings.no_mappings_available') - else - = select('search', 'ontologies', @options, {:include_blank => ""},{:onchange=>"loadMappings(this.value);", "data-placeholder".to_sym => t('select_ontologies_list'), autocomplete: "off"}) + - @options.unshift(['','']) + %div{onchange: "loadMappings(event.target.value)"} + = select_input(name: 'search[ontologies]', id: 'search_ontologies', label: '', values: @options, placeholder: t('select_ontologies_list')) #mapping_load %img{src: asset_path("jquery.simple.tree/spinner.gif")}/ = t('mappings.loading_mappings') diff --git a/app/views/projects/_form.html.haml b/app/views/projects/_form.html.haml index 811865e4c..cd3eea423 100644 --- a/app/views/projects/_form.html.haml +++ b/app/views/projects/_form.html.haml @@ -1,8 +1,3 @@ -:javascript - jQuery(document).ready(function(){ - jQuery("#project_creator").chosen(); - }); - - unless @errors.nil? .enable-lists{style: "color:red; padding-left:10px;"} %strong= t('projects.form.errors_on_form') @@ -42,7 +37,8 @@ %td= text_field :project, :contacts, value: @project.contacts, :tabindex => 3 %tr %th= t('projects.form.administrators') - %td= f.select :creator, @user_select_list, { selected: @project.creator || session[:user].id }, { multiple: true, :"data-placeholder" => t('projects.form.select_administrators') , tabindex: 4 } + %td= select_input(name: "project[creator][]", values: @user_select_list, selected: @project.creator || session[:user].id, multiple: true,placeholder: t('projects.form.select_administrators')) + %tr %th = t('projects.form.home_page') From 6ecda6d55c99e67fc349cc8baf169cf0c7b36172 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 01:01:56 +0100 Subject: [PATCH 10/19] fix project index edit button translation missing --- app/views/projects/index.html.haml | 12 ++++++------ config/locales/en.yml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/views/projects/index.html.haml b/app/views/projects/index.html.haml index e17084d21..9193d98ca 100644 --- a/app/views/projects/index.html.haml +++ b/app/views/projects/index.html.haml @@ -31,7 +31,7 @@ - for project in @projects %tr / Project name, home page, and controls for editors - %td{:style => "vertical-align:top;", :width => "30%"} + %td{:style => "vertical-align:top;"} %strong= link_to(project.name, project_path(project.acronym)) %br/ %span{:style => "font-size:75%; vertical-align:bottom;"} @@ -39,13 +39,13 @@ %span.ui-icon.ui-icon-extlink{:style => "display: inline-block; vertical-align: text-bottom;"} \   - if session[:user] && (project.creator == session[:user].id || session[:user].admin?) - = link_to(t("projects.edit"), edit_project_path(project.acronym)) + = link_to(t("projects.edit_text"), edit_project_path(project.acronym)) / TODO_REV: Enable delete project for admins - if current_user_admin?    = link_to(t("projects.delete_admin_only"), project_path(project.acronym), :method => :delete, :confirm => t("projects.delete_confirm")) / Project description (may be truncated with a dialog) - %td{:style => "vertical-align:top;", :width => "50%"} + %td{:style => "vertical-align:top;"} - if ! project.description.nil? - descLength = 250 - if project.description.length < descLength @@ -55,13 +55,13 @@ %span{:style => "cursor:help;", :title => project.description} = descShort / Contacts - %td{:style => "vertical-align:top;", :width => "10%"} + %td{:style => "vertical-align:top;"} = raw project.contacts / Institutions - %td{:style => "vertical-align:top;", :width => "8%"} + %td{:style => "vertical-align:top;"} = raw project.institution / Ontologies - %td{:style => "vertical-align:top;", :width => "2%"} + %td{:style => "vertical-align:top;"} - ontologyCount = 0 - ontologyLabels = "" - for ontology in project.ontologyUsed diff --git a/config/locales/en.yml b/config/locales/en.yml index 5516326ab..8fcbb8d74 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -770,7 +770,7 @@ en: delete_confirm: Are you sure? description: Description description_text: Description text - edit: Edit + edit_text: Edit home_page: Home page index: intro: Browse a selection of projects that use %{site} ontologies From 03a5e6b37ed9aeb4cfe829352fcd37c92549faeb Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 01:02:27 +0100 Subject: [PATCH 11/19] handle the case of corrupted agents in the landscape --- app/controllers/landscape_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/landscape_controller.rb b/app/controllers/landscape_controller.rb index 2eccf915c..6909b2cf3 100644 --- a/app/controllers/landscape_controller.rb +++ b/app/controllers/landscape_controller.rb @@ -237,7 +237,7 @@ def index organizations_list = Array(sub.send(org_attr.to_s)) organizations_list.each do |org| - org_str = org.name || org.to_s + org_str = org.name || org.to_s rescue org.to_s org_uri = nil # Check if the organization is actually an URL if org_str =~ /\A#{URI::regexp}\z/ From 6a77f5dc99f36802cf310c530a036a950b682f2c Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 01:03:33 +0100 Subject: [PATCH 12/19] catch the missing translation in the overided internationalization --- app/helpers/internationalisation_helper.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/helpers/internationalisation_helper.rb b/app/helpers/internationalisation_helper.rb index b4411c821..ba2720120 100644 --- a/app/helpers/internationalisation_helper.rb +++ b/app/helpers/internationalisation_helper.rb @@ -5,7 +5,12 @@ module InternationalisationHelper def self.t(*args) return I18n.t(*args) unless $RESOURCE_TERM - translation = I18n.t(*args).downcase + begin + translation = I18n.t(*args).downcase + rescue + return "Missing translation for #{args.first}" + end + term = I18n.t("resource_term.ontology") plural_term = I18n.t("resource_term.ontology_plural") single_term = I18n.t("resource_term.ontology_single") From e99d29b8dfbe83318cf939f175241c21ae1671c7 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 01:36:32 +0100 Subject: [PATCH 13/19] fix duplicated translations --- app/controllers/application_controller.rb | 6 +- app/views/ontologies/submit_success.html.haml | 2 +- config/locales/en.yml | 90 +++++++------------ config/locales/fr.yml | 52 +++-------- 4 files changed, 50 insertions(+), 100 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index c300098ad..964be0171 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -16,7 +16,11 @@ class ApplicationController < ActionController::Base include InternationalisationHelper before_action :set_locale - + + def self.t(*args) + InternationalisationHelper.t(*args) + end + # Sets the locale based on the locale cookie or the value returned by detect_locale. def set_locale I18n.locale = cookies[:locale] || detect_locale diff --git a/app/views/ontologies/submit_success.html.haml b/app/views/ontologies/submit_success.html.haml index 04f13dbe0..5836a272f 100644 --- a/app/views/ontologies/submit_success.html.haml +++ b/app/views/ontologies/submit_success.html.haml @@ -17,6 +17,6 @@ = t("ontologies.notification_message") = link_to ontology_url(@ontology.acronym), ontology_path(@ontology.acronym) %p - = t("ontologies.contact_support", site: "#{$SITE}") + = t("ontologies.contact_support_at", site: "#{$SITE}") = mail_to "#{$SUPPORT_EMAIL}", "#{$SUPPORT_EMAIL}" diff --git a/config/locales/en.yml b/config/locales/en.yml index 8fcbb8d74..950c1fc76 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -46,12 +46,9 @@ en: search_language_help_text: Indicate the language on which to perform the search, restricting text matching exclusively to terms with that language content_language_help_text_1: Indicate the language on which the content of this resource will be displayed. content_language_help_text_2: The available languages are specified by the resource admin. - collections: - error_valid_collection: "Error: You must provide a valid collection id" - concepts: - error_valid_concept: "Error: You must provide a valid concept id" - missing_roots: Missing roots application: + powered_by: Powered by OntoPortal + projects: Projects loading: loading... errors_in_fields: Errors in fields %{errors} add_comment: Add comment @@ -78,9 +75,6 @@ en: incomplete_simple_ontology: "Incomplete simple ontology: %{id}, %{ont}" label_xl: error_valid_label_xl: "Error: You must provide a valid label_xl id" - application: - powered_by: Powered by BioPortal - projects: Projects admin: query_not_permitted: Query not permitted update_info_successfully: Update info successfully retrieved @@ -142,7 +136,7 @@ en: administration_console: Administration console analytics: Analytics site_administration: Site Administration - ontology_administration: Ontology Administration + ontology_administration: Ontology Administration licensing: Licensing users: Users metadata_administration: Metadata Administration @@ -188,7 +182,7 @@ en: count: COUNT actions: Actions no_agents: There are currently no agents. - edit: + edit: edit_group: Edit category save: Save categories: @@ -209,7 +203,7 @@ en: description: Description created: Created ontologies: Ontologies - edit: + edit: edit_category: Edit category save: Save new: @@ -262,9 +256,10 @@ en: class: Class clear_selection: Clear selection concepts: + error_valid_concept: "Error: You must provide a valid concept id" + missing_roots: Missing roots date_sorted_list_error: The Classes/Concepts didn't define creation or modifications dates with dcterms list_error: The Collection didn't define any member - permanent_link_class: Permanent link to this class close: Close request_terms_instructions: | The text below is displayed to the user as the instructions on how to request new terms for your ontology. @@ -374,26 +369,6 @@ en: title: Feedback sent successfully message: Thank you for taking the time to share your feedback with us. Our support team will review your message and get back to you as soon as possible with a response. We value your opinion and appreciate your help in improving our services. Thank you for your support! - feedback: - error_on_form: Errors On Form - leave_your_feedback: Leave your feedback - feedback_hi_text: Hi - feedback_info_text: you can use the form below or email us directly at - email: Email - name: Name - proposition_url_page: Error/Proposition page URL - feedback: Feedback - tags: Tags - bug: Bug - proposition: Proposition - question: Question - ontology_submissions_request: Ontology submissions request - optional: (optional) - send: Send - feedback_complete: - title: Feedback sent successfully - message: Thank you for taking the time to share your feedback with us. Our support team will review your message and get back to you as soon as possible with a response. We value your opinion and appreciate your help in improving our services. Thank you for your support! - input: Input insert_sample_text: Insert sample text @@ -415,7 +390,6 @@ en: projects_count: "%{count} projects" notes_count: "%{count} notes" reviews_count: "%{count} reviews" - projects_count: "%{count} projects" as_contact_count: "%{count} as contact" as_contributor_count: "%{count} as contributor" as_creator_count: "%{count} as creator" @@ -557,8 +531,6 @@ en: external_mappings: "External Mappings (%{number_with_delimiter})" interportal_mappings: "Interportal Mappings - %{acronym} (%{number_with_delimiter})" test_bulk_load: This is the mappings produced to test the bulk load - external_mappings: External Mappings - interportal_mappings: Interportal - %{acronym} (%{number_with_delimiter}) mapping_created: Mapping created mapping_updated: Mapping updated mapping_deleted: "%{map_id} deleted successfully" @@ -593,7 +565,7 @@ en: no_mappings: There are currently no mappings for this class. mapping_type_selector: mapping_type: Mapping type - internal: Internal + internal: Internal interportal: InterPortal external: External target_class: Target class @@ -726,7 +698,7 @@ en: semantic_types: UMLS Semantic Types negation: negation none: none - + ontology: Ontology ontology_details: sections: @@ -738,6 +710,9 @@ en: mappings: Mappings widgets: Widgets sparql: Sparql + concepts: Concepts + schemes: Schemes + collections: Collections concept: definitions: Definitions id: ID @@ -784,7 +759,7 @@ en: show: title: Project %{name} edit_project: Edit Project - description: "Description:" + description: "Description:" institution: "Institution:" contacts: "Contacts:" home_page: "Home Page:" @@ -845,7 +820,7 @@ en: detail_score: Detail score specialization_score: Specialization score annotations: Annotations - + register: account_errors: 'Errors creating your account:' confirm_password: Confirm password @@ -924,13 +899,13 @@ en: visit the main site to modify your Custom Ontology Set. customize_portal_display: "Customize your %{portal} display: Pick the ontologies that you want to see on %{portal} will hide all other ontologies." - select_semantic_resources : Select ontologies + select_semantic_resources: Select ontologies no_semantic_resources: You haven't picked any ontologies yet note_feature_logged_in: "Note: this feature works only when you are logged in." select_custom_semantic_resources: Select custom ontologies save_custom_semantic_resources: Save custom ontologies not_subscribed: Not subscribed to any ontology - submitted_semantic_resources: Submitted Ontologies + submitted_semantic_resources: Submitted Ontologies upload_semantic_resources: Upload Ontologies projects_created: Projects Created no_project_created: No project created @@ -968,7 +943,7 @@ en: more_from_ontology: more from this ontology reuses_in: Reuses in reuses_in_other_ontologies: Reuses in other ontologies - + select_from_list: Select from list select_ontologies: Start typing to select ontologies or leave blank to use them all select_ontologies_list: Select ontologies @@ -996,7 +971,7 @@ en: note_deleted_successfully: Note %{note_id} was deleted successfully note_not_found: Note %{note_id} was not found in the system comment: Comment - new_comment: + new_comment: subject: Subject comment: Comment save: Save @@ -1063,7 +1038,7 @@ en: toggle_dropdown: Toggle Dropdown go_to_api: Go to API edit_button: Edit - delete_submission_alert: + delete_submission_alert: content_1: "Are you sure you want to delete submission " content_2: " for ontology " content_3: "?
This action CAN NOT be undone!!!" @@ -1098,7 +1073,7 @@ en: add_user_button: Add User accounts_with_access: "Accounts with access" export_users_link: "Export Appliance Users As CSV" - bioportal_user: BioPortal User ID + bioportal_user: BioPortal User ID annotator_plus: query: "Query: %{query}" @@ -1131,12 +1106,12 @@ en: label: "Include ancestors up to level:" include_score: label: "Include score:" - help_block: Score annotations following the previous 2009 NCBO measure (old) or the C-Value measure (cvalue). If hierarchy expansion is used, then prefer cvalueh. + help_block: Score annotations following the previous 2009 NCBO measure (old) or the C-Value measure (cvalue). If hierarchy expansion is used, then prefer cvalueh. score_threshold: label: "Filter by score threshold:" - help_block: Specify the minimum score value for annotations + help_block: Specify the minimum score value for annotations confidence_threshold: - label: "Filter confidence threshold:" + label: "Filter confidence threshold:" help_block: Specify the minimum position in the scoring distribution (between 1 and 100) recognizer: label: "Entity recognizer:" @@ -1208,6 +1183,7 @@ en: contact_email: "%{name} Email" collections: + error_valid_collection: "Error: You must provide a valid collection id" no_collections_alert: "%{acronym} does not contain collections (skos:Collection)" id: ID preferred_name: Preferred name @@ -1307,7 +1283,6 @@ en: natural_languages: Natural languages showing: Showing metadata_properties: of %{acronym} metadata properties are filled - metadata_only: N/A - metadata only home_page: Home Page ontology_processing_failed: "The ontology processing failed, with the current statuses: %{status}" ontology_parsing_succeeded: "The ontology parsing succeeded, but some processing steps failed, here are the current statuses: %{status}" @@ -1326,7 +1301,7 @@ en: relation_with_other_ontologies: Relation with other ontologies either in %{inside} or %{outside} ontology_search_prompt: 'Search an ontology or a term (e.g., plant height)' self: Ontologies - views: Views + views: Views create_new_view: Create new view expand_all: Expand All collapse_all: Collapse All @@ -1341,7 +1316,6 @@ en: downloads: Downloads admin_links: Admin Links edit_link: Edit - no_views: No views available for %{acronym}. fairness_assessment_questions: O'FAIRe FAIRness assessment questions see_details: See details @@ -1356,7 +1330,7 @@ en: submitting_metadata_only: Thank you for submitting your metadata-only ontology to %{site}. users_can_see: Users can now see your_ontology: your ontology - exploring_and_searching: | + exploring_and_searching: | in our ontology list but they cannot explore or search it. To enable exploring and searching, please upload a full version of your ontology. submitting_ontology_view: Thank you for submitting your ontology view to %{site}. @@ -1365,7 +1339,7 @@ en: We will now put your ontology in the queue to be processed. Please keep in mind that it may take up to several hours before %{site} users will be able to explore and search your ontology. notification_message: "When your ontology is ready for viewing, you will receive an email notification and it will be available here:" - contact_support: "If you have any questions or problems, please email the %{site} support team at:" + contact_support_at: "If you have any questions or problems, please email the %{site} support team at:" collecting_data_message: We are still collecting data for %{acronym} submit_new_ontology: Submit new ontology details: Details @@ -1375,8 +1349,7 @@ en: change_notes: Change notes modification_date: Modification date date_of_original_creation: Date of original creation - - concepts_browsers: + concepts_browsers: select_scheme: Please select a scheme to display missing_roots: Missing roots for %{acronym} (skos:topConceptOf) select_collection: Please select a collection to display @@ -1552,8 +1525,6 @@ en: name: name visits: visits - - ontologies_selector: clear_selection: Clear selection ontologies_advanced_selection: Ontologies advanced selection @@ -1567,8 +1538,7 @@ en: natural_languages: Natural languages formality_levels: Formality levels ontology_types: Ontology types - select_all: select all + select_all: Select all cancel: Cancel apply: Apply - select_all: select all - unselect_all: unselect all \ No newline at end of file + unselect_all: Unselect all \ No newline at end of file diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 339217c02..74df639e8 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -47,12 +47,12 @@ fr: search_language_help_text: Indiquer la langue dans laquelle effectuer la recherche, en restreignant la correspondance de texte exclusivement à des termes dans cette langue content_language_help_text_1: Indiquer la langue dans laquelle le contenu de cette ressource sera affiché. content_language_help_text_2: Les langues disponibles sont spécifiées par l'administrateur de la ressource. - collections: - error_valid_collection: "Erreur : Vous devez fournir un identifiant de collection valide" - concepts: - error_valid_concept: "Erreur : Vous devez fournir un identifiant de concept valide" - missing_roots: Racines manquantes + + + application: + powered_by: Propulsé par BioPortal + projects: Projets loading: chargement... errors_in_fields: Erreurs dans les champs %{errors} add_comment: Ajouter un commentaire @@ -79,10 +79,7 @@ fr: incomplete_simple_ontology: "Ontologie simple incomplète : %{id}, %{ont}" label_xl: error_valid_label_xl: "Erreur : Vous devez fournir un identifiant de label_xl valide" - - application: - powered_by: Propulsé par BioPortal - projects: Projets + admin: query_not_permitted: Requête non autorisée update_info_successfully: Informations de mise à jour récupérées avec succès @@ -261,9 +258,10 @@ fr: class: Classe clear_selection: Effacer la sélection concepts: + error_valid_concept: "Erreur : Vous devez fournir un identifiant de concept valide" + missing_roots: Racines manquantes date_sorted_list_error: Les Classes/Concepts n'ont pas défini de dates de création ou de modifications avec dcterms list_error: La Collection n'a défini aucun membre - permanent_link_class: Lien permanent vers cette classe close: Fermer request_terms_instructions: | Le texte ci-dessous est affiché à l'utilisateur comme les instructions sur la manière de demander de nouveaux termes pour votre ontologie. @@ -372,26 +370,6 @@ fr: title: Retour envoyé avec succès message: Merci d'avoir pris le temps de partager votre retour avec nous. Notre équipe de support examinera votre message et vous répondra dès que possible. Nous apprécions votre opinion et sommes reconnaissants de votre aide pour améliorer nos services. Merci de votre soutien ! - feedback: - error_on_form: Erreurs sur le formulaire - leave_your_feedback: Laissez votre retour - feedback_hi_text: Salut - feedback_info_text: vous pouvez utiliser le formulaire ci-dessous ou nous envoyer un email directement à - email: Email - name: Nom - proposition_url_page: URL de la page Erreur/Proposition - feedback: Retour - tags: Tags - bug: Bug - proposition: Proposition - question: Question - ontology_submissions_request: Demande de soumissions d'ontologie - optional: (optionnel) - send: Envoyer - feedback_complete: - title: Retour envoyé avec succès - message: Merci d'avoir pris le temps de partager votre retour avec nous. Notre équipe de support examinera votre message et vous répondra dès que possible. Nous apprécions votre opinion et sommes reconnaissants de votre aide pour améliorer nos services. Merci de votre soutien ! - input: Entrée insert_sample_text: Insérer un texte d'exemple keywords: Mots-clés @@ -554,8 +532,6 @@ fr: external_mappings: "Mappages Externes (%{number_with_delimiter})" interportal_mappings: "Mappages Interportail - %{acronym} (%{number_with_delimiter})" test_bulk_load: Ceci est les mappages produits pour tester le chargement en masse - external_mappings: Mappages Externes - interportal_mappings: Interportail - %{acronym} (%{number_with_delimiter}) mapping_created: Mappage créé mapping_updated: Mappage mis à jour mapping_deleted: "%{map_id} supprimé avec succès" @@ -730,6 +706,9 @@ fr: mappings: Mappages widgets: Widgets sparql: Sparql + concepts: Conceptes + schemes: Schemes + collections: Collections concept: definitions: Définitions id: ID @@ -762,7 +741,7 @@ fr: delete_confirm: Êtes-vous sûr ? description: Description description_text: Texte de la description - edit: Éditer + edit_text: Éditer home_page: Page d'accueil index: intro: Parcourez une sélection de projets utilisant les ontologies de %{site} @@ -1201,6 +1180,7 @@ fr: contact_email: "Email du %{name}" collections: + error_valid_collection: "Erreur : Vous devez fournir un identifiant de collection valide" no_collections_alert: "%{acronym} ne contient pas de collections (skos:Collection)" id: ID preferred_name: Nom préféré @@ -1300,7 +1280,6 @@ fr: natural_languages: Langues naturelles showing: Affichage metadata_properties: des propriétés de métadonnées de %{acronym} sont remplies - metadata_only: N/A - uniquement les métadonnées home_page: Page d'accueil ontology_processing_failed: "Le traitement de l'ontologie a échoué, avec les statuts actuels : %{status}" ontology_parsing_succeeded: "L'analyse de l'ontologie a réussi, mais certaines étapes de traitement ont échoué, voici les statuts actuels : %{status}" @@ -1334,7 +1313,6 @@ fr: downloads: Téléchargements admin_links: Liens administratifs edit_link: Éditer - no_views: Aucune vue disponible pour %{acronym}. fairness_assessment_questions: Questions d'évaluation FAIR O'FAIRe see_details: Voir les détails @@ -1358,10 +1336,9 @@ fr: Nous allons maintenant mettre votre ontologie dans la file d'attente pour être traitée. Veuillez garder à l'esprit que cela peut prendre plusieurs heures avant que les utilisateurs de %{site} puissent explorer et rechercher votre ontologie. notification_message: "Lorsque votre ontologie sera prête à être consultée, vous recevrez une notification par email et elle sera disponible ici :" - contact_support: "Si vous avez des questions ou des problèmes, veuillez envoyer un email à l'équipe de support de %{site} à :" + contact_support_at: "Si vous avez des questions ou des problèmes, veuillez envoyer un email à l'équipe de support de %{site} à :" collecting_data_message: Nous collectons encore des données pour %{acronym} submit_new_ontology: Soumettre une nouvelle ontologie - edit_metadata: Modifier les métadonnées go_to_api: Aller à l'API details: Détails general_information: Informations générales @@ -1565,5 +1542,4 @@ fr: select_all: Tout sélectionner cancel: Annuler apply: Appliquer - select_all: Tout sélectionner unselect_all: Tout désélectionner From 0fb44dfa64bf7bc4936354d42cbd41b354a121e8 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 03:46:18 +0100 Subject: [PATCH 14/19] complete missing translations and clean the en.yml file --- app/controllers/annotator_controller.rb | 6 +- app/helpers/admin/licenses_helper.rb | 5 +- app/helpers/application_helper.rb | 2 +- app/views/admin/licenses/_form.html.haml | 6 +- app/views/agents/_form.html.haml | 4 +- app/views/annotator/index.html.haml | 8 +- .../fair_score/_fair_service_header.html.haml | 2 +- app/views/home/index.html.haml | 4 +- app/views/landscape/index.html.haml | 3 +- .../_concept_mappings_selector.html.haml | 4 +- .../mappings/_mapping_type_selector.html.haml | 2 +- .../mappings/_ontology_mappings.html.haml | 2 +- .../bulk_loader/_loaded_mappings.html.haml | 2 +- app/views/recommender/index.html.haml | 6 +- app/views/users/index.html.haml | 2 +- config/locales/en.yml | 293 +++--------------- 16 files changed, 74 insertions(+), 277 deletions(-) diff --git a/app/controllers/annotator_controller.rb b/app/controllers/annotator_controller.rb index 97febcc6a..7ff94e3b7 100644 --- a/app/controllers/annotator_controller.rb +++ b/app/controllers/annotator_controller.rb @@ -59,17 +59,17 @@ def annotator_results(uri) @json_link = json_link(uri, api_params) @rdf_link = "#{@json_link}&format=rdf" @results_table_header = [ - "Class", "Ontology", "Contexts" + t('annotator.class'), t('annotator.ontology'), t('annotator.context') ] if params[:fast_context] - @results_table_header += ['Negation', 'Experiencer', 'Temporality', 'Certainty'] + @results_table_header += [t('annotator.negation'), t('annotator.experiencer'), t('annotator.temporality'), t('annotator.certainty')] end @direct_results = 0 @parents_results = 0 if params[:score].nil? || params[:score].eql?('none') params[:score] = nil else - @results_table_header.push('Score') + @results_table_header.push(t('annotator.score')) end annotations = LinkedData::Client::HTTP.get(uri, api_params) @ontologies = get_simplified_ontologies_hash diff --git a/app/helpers/admin/licenses_helper.rb b/app/helpers/admin/licenses_helper.rb index 4d11f0b1f..90fa67bbf 100644 --- a/app/helpers/admin/licenses_helper.rb +++ b/app/helpers/admin/licenses_helper.rb @@ -2,12 +2,11 @@ module Admin::LicensesHelper def license_notification(license) days = license.days_remaining - if (days == 0) - msg = (t(".license_expired") << " " << t(".license_contact")).html_safe + msg = (t("admin.licenses.license_notification.license_expired") << " " << t("admin.licenses.license_notification.license_contact")).html_safe notification = tag.div msg, class: "alert alert-danger mt-3", role: "alert" elsif license.is_trial? - msg = (t(".license_trial", count: days) << " " << t(".license_obtain") << " " << t(".license_contact")).html_safe + msg = (t("admin.licenses.license_notification.license_trial", count: days) << " " << t("admin.licenses.license_notification.license_obtain") << " " << t("admin.licenses.license_notification.license_contact")).html_safe notification = tag.div msg, class: "alert alert-info mt-3", role: "alert" end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 93ec964f9..0cd82b3b3 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -582,7 +582,7 @@ def hide_advanced_options_button(text: nil, init: nil) def insert_sample_text_button(text) content_tag(:div, class:'insert-sample-text-button') do - content_tag(:div, class: 'button', 'data-action': 'click->sample-text#annotator_recommender', 'data-sample-text': t("sample_text")) do + content_tag(:div, class: 'button', 'data-action': 'click->sample-text#annotator_recommender', 'data-sample-text': t("annotator.sample_text")) do content_tag(:div, text, class: 'text') + inline_svg_tag('icons/arrow-curved-up.svg') end diff --git a/app/views/admin/licenses/_form.html.haml b/app/views/admin/licenses/_form.html.haml index e3c7d753a..26c85d117 100644 --- a/app/views/admin/licenses/_form.html.haml +++ b/app/views/admin/licenses/_form.html.haml @@ -3,13 +3,13 @@ %div.alert.alert-danger{role: "alert"} %h5.alert-heading = pluralize(license.errors.count, "error") - = t("licenses.form.license_from_being_saved") + = t("admin.licenses.form.license_from_being_saved") - license.errors.full_messages.each do |message| %p.font-italic.pl-3.mb-0= message %div.form-group %label{for: "license_encrypted_key"} License key = text_area(:license, :encrypted_key, rows: 10, required: true, class: "form-control", aria: { describedBy: "licenseKeyHelpBlock" }) %small#licenseKeyHelpBlock.form-text.text-muted - = t("licenses.form.paste_your_license") + = t("admin.licenses.form.paste_your_license") %div.form-group - = form.submit t("licenses.form.submit"), class: "btn btn-primary" + = form.submit t("admin.licenses.form.submit"), class: "btn btn-primary" diff --git a/app/views/agents/_form.html.haml b/app/views/agents/_form.html.haml index f8fd61e21..60b02f33e 100644 --- a/app/views/agents/_form.html.haml +++ b/app/views/agents/_form.html.haml @@ -20,10 +20,10 @@ %div.d-flex %div.custom-control.custom-radio.mx-1 = radio_button_tag agent_field_name(:agentType, name_prefix), :person, !agent.agentType.eql?('organization'), class: 'custom-control-input', 'data-action': "change->form-options-display#showOption1" - = label_tag :agentType_person, "Person", class: 'custom-control-label' + = label_tag :agentType_person, t('agents.form.person'), class: 'custom-control-label' %div.custom-control.custom-radio.mx-1 = radio_button_tag agent_field_name(:agentType, name_prefix), :organization, agent.agentType.eql?('organization'), class: 'custom-control-input', 'data-action': "change->form-options-display#showOption2" - = label_tag :agentType_organization, "Organization", class: 'custom-control-label' + = label_tag :agentType_organization, t('agents.form.organization'), class: 'custom-control-label' %tr %th = t("agents.form.name") diff --git a/app/views/annotator/index.html.haml b/app/views/annotator/index.html.haml index 3f38e6050..aa3384133 100644 --- a/app/views/annotator/index.html.haml +++ b/app/views/annotator/index.html.haml @@ -14,7 +14,7 @@ .annotator-page-text-area{'data-controller': 'sample-text'} %textarea{rows: "7" , placeholder: t('annotator.input_hint'), name: "text", maxlength: "500", 'data-sample-text-target': "input", 'data-annotator-target': 'input'} = params[:text] - = insert_sample_text_button(t('recommender.insert_sample_text')) + = insert_sample_text_button(t('annotator.insert_sample_text')) .annotator-page-options .section-text = t('annotator.options') @@ -24,7 +24,7 @@ = render(ChipsComponent.new(name: 'longest_only', label: t('annotator.match_longest_only'), checked: params[:longest_only])) = render(ChipsComponent.new(name: 'expand_mappings', label: t('annotator.include_mappings'), checked: params[:expand_mappings])) = render(ChipsComponent.new(name: 'exclude_numbers', label: t('annotator.exclude_numbers'), checked: params[:exclude_numbers])) - = render(ChipsComponent.new(name: 'exclude_synonyms', label: t('annotator.excclude_synonyms'), checked: params[:exclude_synonyms])) + = render(ChipsComponent.new(name: 'exclude_synonyms', label: t('annotator.exclude_synonyms'), checked: params[:exclude_synonyms])) .select-ontologies = ontologies_selector(id:'annotator_page_ontologies', label: 'Select ontologies' ,name: 'ontologies[]', selected: params[:ontologies]&.split(',')) @@ -33,8 +33,8 @@ .more-advanced-options{'data-reveal-component-target': 'item', class: "#{@advanced_options_open ? '' : 'd-none'}"} .filters_line = render Input::SelectComponent.new(label: t('annotator.select_umls_sementic_types'), id: 'umls_semantic_types', name: 'semantic_types[]', value: @semantic_types_for_select, multiple: true, selected: params[:semantic_types]&.split(',')) - = render Input::SelectComponent.new(label: t('annotator.select_umls_sementic_groupes'), id: 'umls_semantic_groups', name: 'semantic_groups[]', value: @semantic_groups_for_select, multiple: true, selected: params[:semantic_groups]&.split(',')) - = render Input::SelectComponent.new(label: t('annotator.include_ancentors'), id: 'ancestors_level', name: 'class_hierarchy_max_level', value: @ancestors_levels, selected: params[:class_hierarchy_max_level]) + = render Input::SelectComponent.new(label: t('annotator.select_umls_sementic_groups'), id: 'umls_semantic_groups', name: 'semantic_groups[]', value: @semantic_groups_for_select, multiple: true, selected: params[:semantic_groups]&.split(',')) + = render Input::SelectComponent.new(label: t('annotator.include_ancestors'), id: 'ancestors_level', name: 'class_hierarchy_max_level', value: @ancestors_levels, selected: params[:class_hierarchy_max_level]) .filters_line - include_score_helper = 'Score annotations following previous NCBO 2009 measure (old) or Score annotations following C-Value measure (cvalue) or Score annotations following C-Value measure with hierarchy expansion (cvalueh).' = render Input::SelectComponent.new(label: t('annotator.include_score'), id: 'include_score', name: 'score', value: @include_score, tooltip: include_score_helper, selected: params[:score]) diff --git a/app/views/fair_score/_fair_service_header.html.haml b/app/views/fair_score/_fair_service_header.html.haml index 9f2125695..1f4a25136 100644 --- a/app/views/fair_score/_fair_service_header.html.haml +++ b/app/views/fair_score/_fair_service_header.html.haml @@ -2,6 +2,6 @@ %span = beta_badge %span - = render Display::InfoTooltipComponent.new(text: t("view_fair_scores_definitions")) + = render Display::InfoTooltipComponent.new(text: t("fair_score.view_fair_scores_definitions")) %span{style: 'vertical-align: bottom; margin-left: -5px;'} = fairness_link('vertical-align: middle;') \ No newline at end of file diff --git a/app/views/home/index.html.haml b/app/views/home/index.html.haml index 26c875208..d58a72782 100644 --- a/app/views/home/index.html.haml +++ b/app/views/home/index.html.haml @@ -73,9 +73,9 @@ %input.d-none{type: "submit", name: "submit_button" ,value: "annotator", id: "annotator_submit"}/ %input.d-none{type: "submit" , name: "submit_button" ,value: "recommender", id: "recommender_submit"}/ .home-services-buttons.container - .insert-sample-text-button{'data-action': 'click->sample-text#annotator_recommender', 'data-sample-text': t("sample_text")} + .insert-sample-text-button{'data-action': 'click->sample-text#annotator_recommender', 'data-sample-text': t("annotator.sample_text")} %div - = t('insert_sample_text') + = t('annotator.insert_sample_text') = inline_svg_tag 'icons/arrow-curved-up.svg' .home-get-recommendations{onclick: "submitRecommender()"} %p= t('home.get_recommendations') diff --git a/app/views/landscape/index.html.haml b/app/views/landscape/index.html.haml index 3913a3a4e..bd3c3f06e 100644 --- a/app/views/landscape/index.html.haml +++ b/app/views/landscape/index.html.haml @@ -48,7 +48,8 @@ %div#toolCloudChart{:style => "width: 100%; height: 500px;"} %div#chartTooltip{:style => "width: auto; display: none;"} - %span#chartTooltipValue= t("none") + %span#chartTooltipValue + None %button#propertiesBtn{:style => "margin-top: 1em;", :type => "button", :class => "btn btn-success", :onclick => "toggleDiv('properties')"}= t("landscape.more_properties_charts") diff --git a/app/views/mappings/_concept_mappings_selector.html.haml b/app/views/mappings/_concept_mappings_selector.html.haml index b091cacfd..c00a40fb4 100644 --- a/app/views/mappings/_concept_mappings_selector.html.haml +++ b/app/views/mappings/_concept_mappings_selector.html.haml @@ -3,12 +3,12 @@ %h2.mb-0 %button.btn.btn-link.btn-block.text-left.collapsed{"data-target" => "#collapseTwo", "data-toggle" => "collapse", :type => "button"} = t('mappings.find_mappings') - = link_to(Rails.configuration.settings.links[:mappings], id: "mappings-help", "aria-label": t('view_mappings_help')) do + = link_to(Rails.configuration.settings.links[:mappings], id: "mappings-help") do %i.fas.fa-question-circle.fa-lg{"aria-hidden": "true"} #collapseTwo.collapse{"data-parent" => "#accordionExample"} .card-body %div - = render partial: 'shared/concept_picker', locals: {name: :concept_mapping_selector, concept_label: '', ontology_acronym: t('all'), include_definition: true } + = render partial: 'shared/concept_picker', locals: {name: :concept_mapping_selector, concept_label: '', ontology_acronym: t('mappings.all'), include_definition: true } %div.mt-1 = render TurboFrameComponent.new(id:'concept_mappings') :javascript diff --git a/app/views/mappings/_mapping_type_selector.html.haml b/app/views/mappings/_mapping_type_selector.html.haml index 856766f04..e32f12d5d 100644 --- a/app/views/mappings/_mapping_type_selector.html.haml +++ b/app/views/mappings/_mapping_type_selector.html.haml @@ -22,7 +22,7 @@ %label.custom-control-label{for: "interportal_form_radio"}= t("mappings.mapping_type_selector.interportal") %div.custom-control.custom-radio.custom-control-inline = radio_button_tag "mapping_type", "external", type?('external'), {id: 'external_form_radio', class:'mapping_radio custom-control-input', data: {target:"#external_form"}, disabled: disabled} - %label.custom-control-label{for: "external_form_radio"}= t("mappings.mapping_type_selector.External") + %label.custom-control-label{for: "external_form_radio"}= t("mappings.mapping_type_selector.external") %div#internal_form.mapping_form{style: "display: #{type?('internal') ? 'block':'none'}"} diff --git a/app/views/mappings/_ontology_mappings.html.haml b/app/views/mappings/_ontology_mappings.html.haml index d34ccc8c7..9890a668c 100644 --- a/app/views/mappings/_ontology_mappings.html.haml +++ b/app/views/mappings/_ontology_mappings.html.haml @@ -13,7 +13,7 @@ - else - @options.unshift(['','']) %div{onchange: "loadMappings(event.target.value)"} - = select_input(name: 'search[ontologies]', id: 'search_ontologies', label: '', values: @options, placeholder: t('select_ontologies_list')) + = select_input(name: 'search[ontologies]', id: 'search_ontologies', label: '', values: @options, placeholder: t('mappings.select_ontologies_list')) #mapping_load %img{src: asset_path("jquery.simple.tree/spinner.gif")}/ = t('mappings.loading_mappings') diff --git a/app/views/mappings/bulk_loader/_loaded_mappings.html.haml b/app/views/mappings/bulk_loader/_loaded_mappings.html.haml index f0735cc58..4de09dc53 100644 --- a/app/views/mappings/bulk_loader/_loaded_mappings.html.haml +++ b/app/views/mappings/bulk_loader/_loaded_mappings.html.haml @@ -44,7 +44,7 @@ %div.accordion{id: "accordion-#{map_id}"} %div %button.btn.btn-link.btn-sm{"data-target" => "#collapse-#{map_id}", "data-toggle" => "collapse", :type => "button"} - = t("mappings.bulk_loader.loaded_mappings.actisee_other_propertiesons") + = t("mappings.bulk_loader.loaded_mappings.see_other_properties") %div.collapse{id: "collapse-#{map_id}", "data-parent": "#accordion-#{map_id}"} %ul.list-group.list-group - process.to_h.except(*except_prop).each do |key,val| diff --git a/app/views/recommender/index.html.haml b/app/views/recommender/index.html.haml index 254bcac81..837b317d7 100644 --- a/app/views/recommender/index.html.haml +++ b/app/views/recommender/index.html.haml @@ -16,7 +16,7 @@ .recommender-page-text-area{class: is_input ? "" : "d-none", 'data-recommender-target': 'input', 'data-controller': 'sample-text'} %textarea#recommender-text-area{rows: "4" , placeholder: t('recommender.hint'), name: "input", 'data-action': "input->recommender#handleInput", maxlength: "9678", 'data-sample-text-target': "input"} = params[:input] - = insert_sample_text_button(t('recommender.insert_sample_text')) + = insert_sample_text_button(t('annotator.insert_sample_text')) .recommender-page-text-area-results{class: is_input ? "d-none" : "", 'data-recommender-target': 'result'} .text @@ -26,7 +26,7 @@ = t('recommender.options') .input .title - = t('recommender.options') + = t('recommender.input') .radios - check_input = !params[:input_type].eql?('2') .text-choice @@ -53,7 +53,7 @@ .inputs-container -#binding.pry .ninput - = render Input::RangeSliderComponent.new(label: t('recommender.converage'), name: "wc", value: params[:wc] || 0.55, min: '0', max: '1', step: '0.01') + = render Input::RangeSliderComponent.new(label: t('recommender.coverage'), name: "wc", value: params[:wc] || 0.55, min: '0', max: '1', step: '0.01') .ninput = render Input::RangeSliderComponent.new(label: t('recommender.acceptance'), name: "wa", value: params[:wa] || 0.15, min: '0', max: '1', step: '0.01') .ninput diff --git a/app/views/users/index.html.haml b/app/views/users/index.html.haml index bd5ceb367..40f786db9 100644 --- a/app/views/users/index.html.haml +++ b/app/views/users/index.html.haml @@ -31,7 +31,7 @@ = link_to t('users.index.detail'), user_path(user.id.split('/').last), {data: {turbo_frame: '_top'}} %span.mx-1 - if count.zero? - = button_to t('users.index.delete'), user_path(user.id.split('/').last), method: :delete, class: 'btn btn-link', form: {data: { turbo: true, turbo_confirm: "Are you sure?", turbo_frame: '_top'}} + = button_to t('users.index.delete'), user_path(user.id.split('/').last), method: :delete, class: 'btn btn-link', form: {data: { turbo: true, turbo_confirm: t('users.index.turbo_confirm'), turbo_frame: '_top'}} - else %span{data: { controller: 'tooltip' }, title:t('users.index.error_delete_message')} = link_to t('users.index.delete'), "", class: 'btn btn-link disabled' diff --git a/config/locales/en.yml b/config/locales/en.yml index 950c1fc76..1277cacf8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,5 +1,9 @@ --- en: + show_advanced_options: Show advanced options + hide_advanced_options: Hide advanced options + no_result_was_found: No result was found + activaterecord: errors: models: @@ -9,7 +13,6 @@ en: invalid_license_key: is an invalid license key. no_appliance_id_for_comparison: Could not be validated. Unable to retrieve virtual appliance ID. appliance_id_mismatch: is an appliance id mismatch. - # Make the resource_term 'ontology' configurable throughout the portal, allowing it to be replaced by alternative terms such as 'semantic_resource', 'vocabulary', 'terminology', or 'semantic_artefact' resource_term: ontology: ontology @@ -31,15 +34,11 @@ en: semantic_artefact: semantic artefact semantic_artefact_plural: semantic artefacts semantic_artefact_single: a semantic artefact - date: formats: year_month_day_concise: "%Y-%m-%d" # 2017-03-01 month_day_year: "%b %-d, %Y" # Mar 1, 2017 monthfull_day_year: "%B %-d, %Y" # March 1, 2017 - - acceptance: Acceptance - additional_parameters: 'Additional parameters explained at ' language: translation_not_available: "%{language} translation not available" portal_language_help_text: Indicate the language in which the interfaces should appear @@ -150,7 +149,6 @@ en: valid_till: Valid till days_remaining: Days remaining renew_license: Renew license - groups: group_created: group successfully created in %{time}s group_error_creation: Problem creating the group - %{message} @@ -216,6 +214,22 @@ en: actions: Actions no_categories: There are currently no categories. licenses: + license_notification: + license_contact: > + For more information, email support@ontoportal.org or + visit https://ontoportal.org/licensing. + license_obtain: > + If you are the owner of this OntoPortal installation, you can visit + https://license.ontoportal.org to obtain a license. + license_expired: > + We're sorry, but the license for this OntoPortal installation has expired. If you are the owner of this OntoPortal installation, + please visit https://license.ontoportal.org to renew your license. + license_trial: + one: + This installation of the OntoPortal Appliance is a trial license, which will expire in 1 day. + other: + This installation of the OntoPortal Appliance is a trial license, which will expire in %{count} days. + create: success: License renewed successfully! label_close: Close @@ -223,26 +237,19 @@ en: license_from_being_saved: "prohibited this license from being saved:" paste_your_license: Paste your license key into the text area submit: Submit - - - - all: All - annotator: title: Annotator description: Get annotations for text with ontology classes input_hint: Enter or past a text to be annotated ... options: Options - prefrences: Prefrences whole_word_only: Whole word only match_longest_only: Match longest only - recognize_partial_words: Recognize partial words include_mappings: Include mappings exclude_numbers: Exclude numbers exclude_synonyms: Exclude synonyms select_umls_sementic_types: Select UMLS semantic types - select_umls_sementic_groupes: Select UMLS semantic groupes - include_ancentors: Include ancentors up to level + select_umls_sementic_groups: Select UMLS semantic groups + include_ancestors: Include ancestors up to level include_score: Include score score_threshold: Filter by score threshold confidence_threshold: Filter by confidence threshold @@ -250,11 +257,16 @@ en: lemmatize: Lemmatize get_annotation: Get annotations total_results: Total results - - - certainty: Certainty - class: Class - clear_selection: Clear selection + context: Context + certainty: Certainty + class: Class + ontology: Ontology + negation: Negation + temporality: Temporality + experiencer: Experiencer + score: Score + insert_sample_text: Insert sample text + sample_text: Melanoma is a malignant tumor of melanocytes found mainly in the skin but also in the intestine and the eye. concepts: error_valid_concept: "Error: You must provide a valid concept id" missing_roots: Missing roots @@ -293,15 +305,7 @@ en:

Justification (optional)
Provide here any additional information about the requested term.

-
- context: Context - coverage: Coverage - filter: Filter - format_results: 'Format results as ' - get_json_version: Get the json version - get_recommendations: Get recommendations - help: Help - +
- Tchechmedjiev, A., Abdaoui, A., Emonet, V., Melzi, S., Jonnagaddala, J., & Jonquet, C. (2018). Enhanced features for annotating and indexing clinical text with NCBO Annotator+. Bioinformatics, 34(11), 1962-1965. -

- If you are using the API, please provide a valid NCBO BioPortal API key and access the service at http://services.bioportal.lirmm. en/ncbo_annotatorplus
- Text submitted to NCBO Annotator+ must be in English. - sample_text: Melanoma is a malignant tumor of melanocytes found mainly in the skin but also in the intestine and the eye. - title: NCBO Annotator + - insert_sample_text: Insert sample text - match_longest_only: Match longest only - match_partial_words: Match partial words - recognizer: Entity recognition - score_help: Score annotations following previous NCBO 2009 measure (old) or Score - annotations following C-Value measure (cvalue) or Score annotations following - C-Value measure with hierarchy expansion (cvalueh) - select: Select %{name} - select_ontologies: Start typing to select ontologies or leave blank to use all - ontologies - select_ontologies_list: Select ontologies - show_advanced_options: Show advanced options - start_typing_to_select: Start typing to select %{type} or leave blank to use all - umls: - semantic_groups: UMLS Semantic Groups - semantic_types: UMLS Semantic Types - negation: negation - none: none - - ontology: Ontology ontology_details: sections: classes: Classes @@ -727,9 +650,6 @@ en: additional_metadata: Additional Metadata header: last_submission_date: Last submission date - ontology_sets: Ontology sets - output: Output - projects: project_not_found: "Project not found: %{id}" project_successfully_created: Project successfully created @@ -787,9 +707,6 @@ en: title: Add your project new_project: New project create_project: Create Project - - - recommender: title: Recommender intro: Get recommendations for the most relevant ontologies from an excerpt of text or a list of keywords @@ -802,7 +719,7 @@ en: ontology_sets: Ontology sets hint: Paste a paragraph of text or some keywords ... weights_configuration: Weights configuration - converage: Converage + coverage: Coverage acceptance: Acceptance knowledge_detail: Knowledge detail specialization: Specialization @@ -820,7 +737,6 @@ en: detail_score: Detail score specialization_score: Specialization score annotations: Annotations - register: account_errors: 'Errors creating your account:' confirm_password: Confirm password @@ -902,7 +818,6 @@ en: select_semantic_resources: Select ontologies no_semantic_resources: You haven't picked any ontologies yet note_feature_logged_in: "Note: this feature works only when you are logged in." - select_custom_semantic_resources: Select custom ontologies save_custom_semantic_resources: Save custom ontologies not_subscribed: Not subscribed to any ontology submitted_semantic_resources: Submitted Ontologies @@ -914,10 +829,6 @@ en: subscriptions: Subscriptions no_uploaded_resources: You didn't upload any ontology yet notes: Notes - - reproduce_results: 'Reproduce these results using the ' - score: Score - search: no_search_class_provided: No search class provided search_place_holder: Enter a term, e.g. plant height @@ -942,25 +853,6 @@ en: visualize: Vizualize more_from_ontology: more from this ontology reuses_in: Reuses in - reuses_in_other_ontologies: Reuses in other ontologies - - select_from_list: Select from list - select_ontologies: Start typing to select ontologies or leave blank to use them all - select_ontologies_list: Select ontologies - show_advanced_options: Show advanced options - specialization: Specialization - temporality: Temporality - text: Text - type: Type - umls_sem_type: UMLS Semantic Type - view_fair_scores_definitions: "You are seeing the FAIRness assessment score for this ontology in AgroPortal. FAIR scores are computed with the O'FAIRe methodology. More details here: https://github.com/agroportal/fairness" - visits: Visits - weights_configuration: Weights configuration - sample_text: Melanoma is a malignant tumor of melanocytes found mainly in the skin but also in the intestine and the eye. - insert_sample_text: Insert sample text - show_advanced_options: Show advanced options - hide_advanced_options: Hide advanced options - no_result_was_found: No result was found notes: no_notes: No notes to display filter_hide_archived: Hide Archived @@ -988,7 +880,7 @@ en: synonym: Synonym definition: Definition parent: Parent - Save: save + save: save note_line: alert_text: "Are you sure you want to delete the note ''%{subject}'' created by %{creator}?
This action CAN NOT be undone!!!" delete: Delete @@ -998,22 +890,13 @@ en: submitted_by: submitted by reply: about_note_decorator: about %{note_decorator} - Comment: Comment + comment: Comment save: save cancel: cancel - ontolobridge: problem_of_creating_new_term: "Problem creating a new term %{endpoint}: %{class} - %{message}" new_term_instructions_saved: New term request instructions for %{acronym} saved error_saving_new_term_instructions: Unable to save new term instructions for %{acronym} due to a server error - - notifier: - name: "Name: %{name}" - email: "Email: %{email}" - location: "Location: %{location}" - tags: "Tags:" - feedback: "Feedback:" - submissions: filter: all_formats: All formats @@ -1042,7 +925,6 @@ en: content_1: "Are you sure you want to delete submission " content_2: " for ontology " content_3: "?
This action CAN NOT be undone!!!" - ontoportal_virtual_appliance: problem_adding_account: "Problem adding account %{id}: account does not exist" require_login: You must be logged in to access this section @@ -1074,77 +956,6 @@ en: accounts_with_access: "Accounts with access" export_users_link: "Export Appliance Users As CSV" bioportal_user: BioPortal User ID - - annotator_plus: - query: "Query: %{query}" - retrieved_annotations: "Retrieved %{annotations} annotations: %{time}s" - completed_massage_for_annotated: "Completed massage for annotated classes: %{time}s" - failed_get_class_details: "Failed to get class details for: %{details}" - not_found_message: Not Found - title: Annotator Plus - annotator: Annotator + - intro: Get annotations for text with ontology classes - help_label: View annotator help - annotate_text_prompt: Enter or paste text to be annotated - insert_sample_text: Insert sample text - show_advanced_options: Show advanced options - match_longest_only: Match longest only - include_mappings: Include mappings - match_partial_words: Recognize partial words - exclude_numbers: Exclude numbers - exclude_synonyms: Exclude synonyms - ontologies: - select_label: Select ontologies - select_help_block: Start typing to select ontologies or leave blank to use all ontologies - umls_semantic_types: - select_label: Select UMLS semantic types - select_help_block: Start typing to select UMLS semantic types or leave blank to use all - umls_semantic_groups: - select_label: Select UMLS semantic groups - select_help_block: Start typing to select UMLS semantic groups or leave blank to use all - class_hierarchy_max_level: - label: "Include ancestors up to level:" - include_score: - label: "Include score:" - help_block: Score annotations following the previous 2009 NCBO measure (old) or the C-Value measure (cvalue). If hierarchy expansion is used, then prefer cvalueh. - score_threshold: - label: "Filter by score threshold:" - help_block: Specify the minimum score value for annotations - confidence_threshold: - label: "Filter confidence threshold:" - help_block: Specify the minimum position in the scoring distribution (between 1 and 100) - recognizer: - label: "Entity recognizer:" - negation: - label: Detect negation - help_block: Detect if a concept has been negated (affirmed, negated, possible) - experiencer: - label: Detect experiencer - help_block: Detect who experienced the each identified concept (patient, other) - temporality: - label: Detect temporality - help_block: Detect when the annotated concept occurred (recent, historical, hypothetical) - get_annotations_button: Get annotations - annotations: - title: Annotations - filter_results_by: "Results are filtered by:" - class_header: Class - filter: filter - ontology_header: Ontology - type_header: Type - umls_sem_type_header: UMLS Sem Type - context_header: Context - matched_class_header: Matched Class - matched_ontology_header: Matched Ontology - score_header: Score - negation_header: Negation - experiencer_header: Experiencer - temporality_header: Temporality - format_results_as: "Format results as:" - reproduce_results_using: Reproduce these results using the - additional_parameters_explained: Additional parameters explained at - annotator_api_documentation: Annotator API documentation - submission_inputs: administrators: Administrators ontology_skos_language_link: Please refer to the documentation for more details. @@ -1181,7 +992,6 @@ en: help_text: Help text contact_name: "%{name} Name" contact_email: "%{name} Email" - collections: error_valid_collection: "Error: You must provide a valid collection id" no_collections_alert: "%{acronym} does not contain collections (skos:Collection)" @@ -1196,7 +1006,6 @@ en: comment: Comment close: Close submit: Submit - check_resolvability: check_resolvability_message_1: "The URL is resolvable and support the following formats: %{supported_format}" check_resolvability_message_2: "The URL resolvable but is not content negotiable, support only: %{supported_format}" @@ -1239,7 +1048,6 @@ en: go_home_button: Go home send_feedback_button: Send a feedback not_found_page: Page not found - schemes: error_valid_scheme_id: "Error: You must provide a valid scheme id" no_main_scheme_alert: no main scheme defined in the URI attribute @@ -1257,10 +1065,11 @@ en: see_possible_credits: See possible credits see_metadata_used_properties: See metadata used properties not_found: not found - null: "null" + "null": "null" + view_fair_scores_definitions: "You are seeing the FAIRness assessment score for this ontology in AgroPortal. FAIR scores are computed with the O'FAIRe methodology. More details here: https://github.com/agroportal/fairness" ontologies_metadata_curator: - bulk_edit: Start bulk edit - use_the_bulk_edit: To use the bulk edit select in the table submissions (the rows) and metadata properties (the columns) for which you want to edit + #bulk_edit: Start bulk edit + #use_the_bulk_edit: To use the bulk edit select in the table submissions (the rows) and metadata properties (the columns) for which you want to edit start_the_bulk_edit: Select in the table submissions (rows) and metadata properties (columns) to start the bulk edit alert_success_submissions: Submissions were successfully updated ontologies: Ontologies @@ -1300,7 +1109,6 @@ en: outside: outside relation_with_other_ontologies: Relation with other ontologies either in %{inside} or %{outside} ontology_search_prompt: 'Search an ontology or a term (e.g., plant height)' - self: Ontologies views: Views create_new_view: Create new view expand_all: Expand All @@ -1327,7 +1135,6 @@ en: new_versions_loaded: New versions loaded on a nightly basis. upload_local_file: Upload local file ontology_submitted: Ontology submitted successfully! - submitting_metadata_only: Thank you for submitting your metadata-only ontology to %{site}. users_can_see: Users can now see your_ontology: your ontology exploring_and_searching: | @@ -1468,11 +1275,6 @@ en: export_metadata: Export all metadata abstract: Abstract description: Description - precache: - delete_general_cache_info: Deleting general cache info - delete_cache_ontology: Deleting cache for %{ont} - retrieved_time: Retrieved in %{time}s - failed_to_get_url: "Failed to get %{url}: %{message}" components: check_resolvability: checking resolvability... error_block: child_data_generator block did not provide all the child arguements @@ -1480,10 +1282,6 @@ en: save_button: Save cancel_button: Cancel go_to_api: Go to API - the_content: here is the content - name_identifiers: NAME (IDENTIFIERS) - type: TYPE - name_acronym: NAME(ACRONYM) file_input_message: Drop your file here or, browse files on your device. all_languages: All languages select_anguage: Select a language @@ -1524,7 +1322,6 @@ en: ontology_visits: Ontology visits name: name visits: visits - ontologies_selector: clear_selection: Clear selection ontologies_advanced_selection: Ontologies advanced selection From 5626a123fb221def208868231acb3b94865ba6ba Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Wed, 27 Mar 2024 04:22:58 +0100 Subject: [PATCH 15/19] complete and clean the fr.yml file --- config/locales/{de.yml => de.yml.sample} | 0 config/locales/en.yml | 2 +- config/locales/fr.yml | 289 +++++------------------ config/locales/{it.yml => it.yml.sample} | 0 4 files changed, 61 insertions(+), 230 deletions(-) rename config/locales/{de.yml => de.yml.sample} (100%) rename config/locales/{it.yml => it.yml.sample} (100%) diff --git a/config/locales/de.yml b/config/locales/de.yml.sample similarity index 100% rename from config/locales/de.yml rename to config/locales/de.yml.sample diff --git a/config/locales/en.yml b/config/locales/en.yml index 1277cacf8..58ab14b88 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -305,7 +305,7 @@ en:

Justification (optional)
Provide here any additional information about the requested term.

-
home: bug: Bug proposition: Proposition diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 74df639e8..cd465beb8 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1,5 +1,9 @@ --- fr: + show_advanced_options: Afficher les options avancées + hide_advanced_options: Cacher les options avancées + no_result_was_found: Aucun résultat trouvé + activaterecord: errors: models: @@ -15,11 +19,11 @@ fr: resource_term: ontology: ontologie ontology_plural: ontologies - single_ontology: une ontologie + ontology_single: une ontologie semantic_resource: ressource sémantique semantic_resource_plural: ressources sémantiques - single_semantic_resource: une ressource sémantique + semantic_resource_single: une ressource sémantique vocabulary: vocabulaire vocabulary_plural: vocabulaires @@ -39,8 +43,6 @@ fr: month_day_year: "%b %-d, %Y" # Mar 1, 2017 monthfull_day_year: "%B %-d, %Y" # Mars 1, 2017 - acceptance: Acceptation - additional_parameters: 'Paramètres supplémentaires expliqués à ' language: translation_not_available: "Traduction en %{language} non disponible" portal_language_help_text: Indiquer la langue dans laquelle les interfaces doivent apparaître @@ -48,8 +50,6 @@ fr: content_language_help_text_1: Indiquer la langue dans laquelle le contenu de cette ressource sera affiché. content_language_help_text_2: Les langues disponibles sont spécifiées par l'administrateur de la ressource. - - application: powered_by: Propulsé par BioPortal projects: Projets @@ -187,7 +187,7 @@ fr: count: COMPTE actions: Actions no_agents: Il n'y a actuellement aucun agent. - edit: + edit: edit_group: Modifier la catégorie save: Sauvegarder categories: @@ -208,7 +208,7 @@ fr: description: Description created: Créé ontologies: Ontologies - edit: + edit: edit_category: Modifier la catégorie save: Sauvegarder new: @@ -221,6 +221,18 @@ fr: actions: Actions no_categories: Il n'y a actuellement aucune catégorie. licenses: + license_notification: + license_contact: > + Pour plus d'informations, envoyez un e-mail à support@ontoportal.org ou visitez https://ontoportal.org/licensing. + license_obtain: > + Si vous êtes le propriétaire de cette installation d'OntoPortal, vous pouvez visiter https://license.ontoportal.org pour obtenir une licence. + license_expired: > + Nous sommes désolés, mais la licence de cette installation d'OntoPortal a expiré. Si vous êtes le propriétaire de cette installation d'OntoPortal, veuillez visiter https://license.ontoportal.org pour renouveler votre licence. + license_trial: + one: + Cette installation de l'Appliance OntoPortal est une licence d'essai, qui expirera dans 1 jour. + other: + Cette installation de l'Appliance OntoPortal est une licence d'essai, qui expirera dans %{count} jours. create: success: Licence renouvelée avec succès ! label_close: Fermer @@ -229,34 +241,37 @@ fr: paste_your_license: Collez votre clé de licence dans la zone de texte submit: Soumettre - all: Tout - annotator: title: Annotateur description: Obtenez des annotations pour le texte avec des classes d'ontologie input_hint: Entrez ou collez un texte à annoter... options: Options - prefrences: Préférences whole_word_only: Mot entier seulement match_longest_only: Correspondance uniquement avec le plus long - recognize_partial_words: Reconnaître les mots partiels include_mappings: Inclure les mappings exclude_numbers: Exclure les chiffres exclude_synonyms: Exclure les synonymes select_umls_sementic_types: Sélectionner les types sémantiques UMLS - select_umls_sementic_groupes: Sélectionner les groupes sémantiques UMLS - include_ancentors: Inclure les ancêtres jusqu'au niveau + select_umls_sementic_groups: Sélectionner les groupes sémantiques UMLS + include_ancestors: Inclure les ancêtres jusqu'au niveau include_score: Inclure le score score_threshold: Filtrer par seuil de score confidence_threshold: Filtrer par seuil de confiance fastcontext: FastContext lemmatize: Lématiser + context: Contexte + certainty: Certitude + class: Classe + ontology: Ontologie + negation: "Négation" + temporality: "Temporalité" + experiencer: Experiencer + score: Score get_annotation: Obtenir des annotations total_results: Résultats totaux + insert_sample_text: Insérer un texte d'exemple + sample_text: Le mélanome est une tumeur maligne des mélanocytes trouvée principalement dans la peau mais aussi dans l'intestin et l'œil. - certainty: Certitude - class: Classe - clear_selection: Effacer la sélection concepts: error_valid_concept: "Erreur : Vous devez fournir un identifiant de concept valide" missing_roots: Racines manquantes @@ -296,15 +311,10 @@ fr:

Justification (optionnel)
Fournissez ici toute information supplémentaire concernant le terme demandé.

- context: Contexte - coverage: Couverture - filter: Filtre - format_results: 'Formater les résultats en ' - get_json_version: Obtenir la version json - get_recommendations: Obtenir des recommandations - help: Aide + home: + ontoportal_instances: "Instances d'Ontoportal" bug: Bug proposition: Proposition question: Question @@ -370,13 +380,8 @@ fr: title: Retour envoyé avec succès message: Merci d'avoir pris le temps de partager votre retour avec nous. Notre équipe de support examinera votre message et vous répondra dès que possible. Nous apprécions votre opinion et sommes reconnaissants de votre aide pour améliorer nos services. Merci de votre soutien ! - input: Entrée - insert_sample_text: Insérer un texte d'exemple - keywords: Mots-clés - keywords_separated_by_commas: Mots-clés séparés par des virgules - knowledge_detail: Détail de la connaissance - landscape: + #select_ontologies: Commencez à taper pour sélectionner des ontologies ou laissez vide pour les utiliser toutes classes: Nombre de classes individuals: Nombre d'individus properties: Nombre de propriétés @@ -445,7 +450,7 @@ fr: relations_between_stored_ontologies: Ensemble de relations entre les ontologies de %{site} telles que capturées par les métadonnées. Les ontologies en vert sont stockées dans le répertoire tandis que celles en bleu sont des ressources externes. size: taille title: "Paysage" - + ontologies_properties: Propriétés des ontologies layout: header: account_setting: Paramètres du compte @@ -518,7 +523,7 @@ fr: email_address_associated: Entrez l'adresse email associée à votre compte et nous vous enverrons un email avec les instructions pour réinitialiser votre mot de passe. email_placeholder: Entrez l'email send_instructions: Envoyer les instructions - + statistics: title: "Statistiques de %{portal}" lead: (dernières %{last_years} années) @@ -529,6 +534,7 @@ fr: ontology_visits: Visites d'ontologies mappings: + select_ontologies_list: "Sélectionner des ontologies" external_mappings: "Mappages Externes (%{number_with_delimiter})" interportal_mappings: "Mappages Interportail - %{acronym} (%{number_with_delimiter})" test_bulk_load: Ceci est les mappages produits pour tester le chargement en masse @@ -545,6 +551,7 @@ fr: no_mappings_available: Aucun mappage disponible title: Mappages upload_mappings: Télécharger des mappages + all: Tout count: ontology: Ontologie mappings: Mappages @@ -607,7 +614,7 @@ fr: save: Sauvegarder not_used: Non utilisé see_usages_count: Voir les utilisations (%{count}) - delete_button: Supprimer + delete: Supprimer delete_error: "Impossible de supprimer cet %{agent} car encore utilisé" turbo_confirm: Êtes-vous sûr ? modal_title: "Utilisations de l'agent \"%{name}\"" @@ -629,73 +636,6 @@ fr: actions: Actions no_agents: Il n'y a actuellement aucun agent. - matched_class: Classe correspondante - matched_ontology: ontologie correspondante - max_ontologies_per_set: Nombre maximum d'ontologies par ensemble - - nbco_annotatosplus: - annotations: Annotations - enter_paste_text_to_annotate: 'Entrez ou collez le texte à annoter' - exclude_numbers: Exclure les nombres - exclude_synonyms: Exclure les synonymes - fast_context: - help: 'Activez FastContext pour détecter : si un concept a été nié (affirmé, - nié), qui a éprouvé le concept trouvé (patient, autre), quand le concept annoté est survenu (récent, historique, hypothétique), et/ou si le concept annoté est incertain (certain, incertain).' - title: FastContext - filters: - additional_parameters_explained_at: 'Les paramètres supplémentaires sont expliqués sur - la page :' - by: - certainty: Certitude - class: Classe - experiencer: Expérience - filter: Filtre - match_context: Contexte - match_type: Type - matched_class: Classe Associée - matched_ontology: Ontologie Associée - negation: Négation - ontology: Ontologie - score: Score - temporality: Temporalité - title: Les résultats sont filtrés par - umls_sem_type: Type Sémantique UMLS - confidence_threshold: Seuil de confiance du filtre - confidence_threshold_help: Spécifiez la position minimale dans la distribution des scores (entre 1 et 100) - format_results_as: 'Formater les résultats en :' - reproduce_results_using: Reproduire ces résultats en utilisant - score_threshold: Filtrer par seuil de score - score_threshold_help: Spécifiez la valeur minimale de score pour les annotations - include_ancestors_up_to_level: Inclure les ancêtres jusqu'au niveau - include_mappings: Inclure les mappages - include_score: Inclure le score - index: - intro: | - Le NCBO Annotator+ est un proxy appelant le service web NCBO Annotator sur le NCBO BioPortal. -

- Tchechmedjiev, A., Abdaoui, A., Emonet, V., Melzi, S., Jonnagaddala, J., & Jonquet, C. (2018). Fonctionnalités améliorées pour annoter et indexer le texte clinique avec NCBO Annotator+. Bioinformatics, 34(11), 1962-1965. -

- Si vous utilisez l'API, veuillez fournir une clé API NCBO BioPortal valide et accéder au service à http://services.bioportal.lirmm.fr/ncbo_annotatorplus
- Le texte soumis à NCBO Annotator+ doit être en anglais. - sample_text: Le mélanome est une tumeur maligne des mélanocytes trouvée principalement dans la peau mais aussi dans l'intestin et l'œil. - title: NCBO Annotator + - insert_sample_text: Insérer un texte d'exemple - match_longest_only: Correspondance la plus longue uniquement - match_partial_words: Correspondre aux mots partiels - recognizer: Reconnaissance d'entité - score_help: Noter les annotations suivant la mesure NCBO 2009 précédente (ancienne) ou Noter les annotations suivant la mesure C-Value (cvalue) ou Noter les annotations suivant la mesure C-Value avec expansion hiérarchique (cvalueh) - select: Sélectionner %{name} - select_ontologies: Commencez à taper pour sélectionner des ontologies ou laissez vide pour utiliser toutes les ontologies - select_ontologies_list: Sélectionner des ontologies - show_advanced_options: Afficher les options avancées - start_typing_to_select: Commencez à taper pour sélectionner %{type} ou laissez vide pour utiliser tous - umls: - semantic_groups: Groupes Sémantiques UMLS - semantic_types: Types Sémantiques UMLS - negation: négation - none: aucun - - ontology: Ontologie ontology_details: sections: classes: Classes @@ -723,9 +663,8 @@ fr: additional_metadata: Métadonnées supplémentaires header: last_submission_date: Date de la dernière soumission - ontology_sets: Ensembles d'ontologies - output: Sortie - + + projects: project_not_found: "Projet non trouvé : %{id}" project_successfully_created: Projet créé avec succès @@ -772,20 +711,20 @@ fr: description: "Description :*" select_ontologies: Sélectionner les ontologies utilisées select_administrators: Sélectionner les administrateurs - + edit: title: Édition du Projet %{name} editing_project: Édition du projet cancel: Annuler update_project: Mettre à jour le Projet - + new: title: Ajoutez votre projet new_project: Nouveau projet create_project: Créer le Projet - + recommender: title: Recommandeur intro: Obtenez des recommandations pour les ontologies les plus pertinentes à partir d'un extrait de texte ou d'une liste de mots-clés @@ -798,7 +737,7 @@ fr: ontology_sets: Ensembles d'ontologies hint: Collez un paragraphe de texte ou quelques mots-clés ... weights_configuration: Configuration des poids - converage: Couverture + coverage: Couverture acceptance: Acceptation knowledge_detail: Détail des connaissances specialization: Spécialisation @@ -808,6 +747,7 @@ fr: get_recommendations: Obtenir des recommandations edit: Éditer results_title: Ontologies recommandées + acceptance: Acceptation results_table: ontology: Ontologie final_score: Score final @@ -816,7 +756,7 @@ fr: detail_score: Score de détail specialization_score: Score de spécialisation annotations: Annotations - + register: account_errors: 'Erreurs lors de la création de votre compte :' confirm_password: Confirmez le mot de passe @@ -898,7 +838,6 @@ fr: select_semantic_resources : Sélectionner des ontologies no_semantic_resources: Vous n'avez encore sélectionné aucune ontologie note_feature_logged_in: "Note : cette fonctionnalité ne fonctionne que lorsque vous êtes connecté." - select_custom_semantic_resources: Sélectionner des ontologies personnalisées save_custom_semantic_resources: Sauvegarder les ontologies personnalisées not_subscribed: Non abonné à aucune ontologie submitted_semantic_resources: Ressources Ontologies @@ -911,9 +850,7 @@ fr: no_uploaded_resources: Vous n'avez encore téléchargé aucune ontologie notes: Notes - reproduce_results: 'Reproduisez ces résultats en utilisant le ' - score: Score - + search: no_search_class_provided: Aucune classe de recherche fournie search_place_holder: Entrez un terme, par ex. hauteur de plante @@ -938,25 +875,7 @@ fr: visualize: Visualiser more_from_ontology: plus de cette ontologie reuses_in: Réutilisations dans - reuses_in_other_ontologies: Réutilisations dans d'autres ontologies - - select_from_list: Sélectionner dans la liste - select_ontologies: Commencez à taper pour sélectionner des ontologies ou laissez vide pour les utiliser toutes - select_ontologies_list: Sélectionner des ontologies - show_advanced_options: Afficher les options avancées - specialization: Spécialisation - temporality: Temporalité - text: Texte - type: Type - umls_sem_type: Type Sémantique UMLS - view_fair_scores_definitions: "Vous voyez le score d'évaluation de l'équité FAIR pour cette ontologie dans AgroPortal. Les scores FAIR sont calculés avec la méthodologie O'FAIRe. Plus de détails ici : https://github.com/agroportal/fairness" - visits: Visites - weights_configuration: Configuration des poids - sample_text: Le mélanome est une tumeur maligne des mélanocytes trouvée principalement dans la peau mais aussi dans l'intestin et l'œil. - insert_sample_text: Insérer un texte d'exemple - show_advanced_options: Afficher les options avancées - hide_advanced_options: Cacher les options avancées - no_result_was_found: Aucun résultat trouvé + notes: no_notes: Aucune note à afficher filter_hide_archived: Masquer les archivés @@ -967,7 +886,7 @@ fr: note_deleted_successfully: Note %{note_id} a été supprimée avec succès note_not_found: Note %{note_id} n'a pas été trouvée dans le système comment: Commentaire - new_comment: + new_comment: subject: Sujet comment: Commentaire save: Sauvegarder @@ -984,7 +903,7 @@ fr: synonym: Synonyme definition: Définition parent: Parent - Save: sauvegarder + save: sauvegarder note_line: alert_text: "Êtes-vous sûr de vouloir supprimer la note ''%{subject}'' créée par %{creator}?
Cette action NE PEUT PAS être annulée !!!" delete: Supprimer @@ -994,7 +913,7 @@ fr: submitted_by: soumis par reply: about_note_decorator: à propos de %{note_decorator} - Comment: Commentaire + comment: Commentaire save: sauvegarder cancel: annuler @@ -1003,14 +922,6 @@ fr: new_term_instructions_saved: Instructions de demande de nouveau terme pour %{acronym} enregistrées error_saving_new_term_instructions: Impossible d'enregistrer les nouvelles instructions de terme pour %{acronym} en raison d'une erreur serveur - notifier: - name: "Nom : %{name}" - email: "Email : %{email}" - location: "Emplacement : %{location}" - tags: "Étiquettes :" - feedback: "Retour :" - - submissions: filter: all_formats: Tous les formats @@ -1035,7 +946,7 @@ fr: toggle_dropdown: Basculer le menu déroulant go_to_api: Aller à l'API edit_button: Éditer - delete_submission_alert: + delete_submission_alert: content_1: "Êtes-vous sûr de vouloir supprimer la soumission " content_2: " pour l'ontologie " content_3: " ?
Cette action est IRREVERSIBLE !!!" @@ -1072,76 +983,6 @@ fr: export_users_link: "Exporter les utilisateurs de l'Appliance en CSV" bioportal_user: ID utilisateur BioPortal - annotator_plus: - query: "Requête : %{query}" - retrieved_annotations: "%{annotations} annotations récupérées : %{time}s" - completed_massage_for_annotated: "Massage complété pour les classes annotées : %{time}s" - failed_get_class_details: "Échec de récupération des détails de la classe pour : %{details}" - not_found_message: Non trouvé - title: Annotator Plus - annotator: Annotateur + - intro: Obtenez des annotations pour du texte avec des classes d'ontologie - help_label: Voir l'aide de l'annotateur - annotate_text_prompt: Entrez ou collez du texte à annoter - insert_sample_text: Insérer un texte d'exemple - show_advanced_options: Afficher les options avancées - match_longest_only: Correspondre seulement au plus long - include_mappings: Inclure les mappages - match_partial_words: Reconnaître les mots partiels - exclude_numbers: Exclure les nombres - exclude_synonyms: Exclure les synonymes - ontologies: - select_label: Sélectionner des ontologies - select_help_block: Commencez à taper pour sélectionner des ontologies ou laissez vide pour utiliser toutes les ontologies - umls_semantic_types: - select_label: Sélectionner les types sémantiques UMLS - select_help_block: Commencez à taper pour sélectionner des types sémantiques UMLS ou laissez vide pour utiliser tous - umls_semantic_groups: - select_label: Sélectionner les groupes sémantiques UMLS - select_help_block: Commencez à taper pour sélectionner des groupes sémantiques UMLS ou laissez vide pour utiliser tous - class_hierarchy_max_level: - label: "Inclure les ancêtres jusqu'au niveau :" - include_score: - label: "Inclure le score :" - help_block: Notez les annotations suivant la mesure NCBO de 2009 (ancien) ou la mesure C-Value (cvalue). Si l'expansion hiérarchique est utilisée, alors préférez cvalueh. - score_threshold: - label: "Filtrer par seuil de score :" - help_block: Spécifiez la valeur minimale de score pour les annotations - confidence_threshold: - label: "Seuil de confiance du filtre :" - help_block: Spécifiez la position minimale dans la distribution des scores (entre 1 et 100) - recognizer: - label: "Reconnaissance d'entité :" - negation: - label: Détecter la négation - help_block: Détecter si un concept a été nié (affirmé, nié, possible) - experiencer: - label: Détecter l'expérimentateur - help_block: Détecter qui a expérimenté chaque concept identifié (patient, autre) - temporality: - label: Détecter la temporalité - help_block: Détecter quand le concept annoté s'est produit (récent, historique, hypothétique) - get_annotations_button: Obtenir des annotations - annotations: - title: Annotations - filter_results_by: "Les résultats sont filtrés par :" - class_header: Classe - filter: filtre - ontology_header: Ontologie - type_header: Type - umls_sem_type_header: Type Sém UMLS - context_header: Contexte - matched_class_header: Classe correspondante - matched_ontology_header: Ontologie correspondante - score_header: Score - negation_header: Négation - experiencer_header: Expérimentateur - temporality_header: Temporalité - format_results_as: "Formater les résultats comme :" - reproduce_results_using: Reproduire ces résultats en utilisant - additional_parameters_explained: Paramètres supplémentaires expliqués sur - annotator_api_documentation: Documentation de l'API Annotateur - submission_inputs: administrators: Administrateurs ontology_skos_language_link: Veuillez vous référer à la documentation pour plus de détails. @@ -1236,7 +1077,7 @@ fr: go_home_button: Aller à l'accueil send_feedback_button: Envoyer un retour not_found_page: Page non trouvée - + schemes: error_valid_scheme_id: "Erreur : Vous devez fournir un identifiant de schéma valide" no_main_scheme_alert: aucun schéma principal défini dans l'attribut URI @@ -1254,10 +1095,11 @@ fr: see_possible_credits: Voir les crédits possibles see_metadata_used_properties: Voir les propriétés de métadonnées utilisées not_found: non trouvé - null: "null" + "null": "null" + view_fair_scores_definitions: "Vous voyez le score d'évaluation de l'équité FAIR pour cette ontologie dans AgroPortal. Les scores FAIR sont calculés avec la méthodologie O'FAIRe. Plus de détails ici : https://github.com/agroportal/fairness" ontologies_metadata_curator: - bulk_edit: Commencer l'édition en masse - use_the_bulk_edit: Pour utiliser l'édition en masse, sélectionnez dans le tableau les soumissions (les lignes) et les propriétés de métadonnées (les colonnes) que vous souhaitez éditer + #bulk_edit: Commencer l'édition en masse + #use_the_bulk_edit: Pour utiliser l'édition en masse, sélectionnez dans le tableau les soumissions (les lignes) et les propriétés de métadonnées (les colonnes) que vous souhaitez éditer start_the_bulk_edit: Sélectionnez dans le tableau les soumissions (lignes) et les propriétés de métadonnées (colonnes) pour commencer l'édition en masse alert_success_submissions: Les soumissions ont été mises à jour avec succès ontologies: Ontologies @@ -1297,7 +1139,6 @@ fr: outside: extérieur relation_with_other_ontologies: Relation avec d'autres ontologies soit à l'intérieur soit à l'extérieur ontology_search_prompt: 'Rechercher une ontologie ou un terme (par exemple, hauteur de plante)' - self: Ontologies views: Vues create_new_view: Créer une nouvelle vue expand_all: Tout déplier @@ -1324,7 +1165,6 @@ fr: new_versions_loaded: De nouvelles versions chargées chaque nuit. upload_local_file: Télécharger un fichier local ontology_submitted: Ontologie soumise avec succès ! - submitting_metadata_only: Merci d'avoir soumis votre ontologie uniquement avec métadonnées à %{site}. users_can_see: Les utilisateurs peuvent maintenant voir your_ontology: votre ontologie exploring_and_searching: | @@ -1348,7 +1188,7 @@ fr: modification_date: Date de modification date_of_original_creation: Date de création originale - concepts_browsers: + concepts_browsers: select_scheme: Veuillez sélectionner un schéma à afficher missing_roots: Racines manquantes pour %{acronym} (skos:topConceptOf) select_collection: Veuillez sélectionner une collection à afficher @@ -1468,11 +1308,6 @@ fr: export_metadata: Exporter toutes les métadonnées abstract: Résumé description: Description - precache: - delete_general_cache_info: Suppression des informations du cache général - delete_cache_ontology: Suppression du cache pour %{ont} - retrieved_time: Récupéré en %{time}s - failed_to_get_url: "Échec de l'obtention de %{url} : %{message}" components: check_resolvability: vérification de la résolvabilité... error_block: le bloc child_data_generator n'a pas fourni tous les arguments enfants @@ -1480,10 +1315,6 @@ fr: save_button: Sauvegarder cancel_button: Annuler go_to_api: Aller à l'API - the_content: Voici le contenu - name_identifiers: NOM (IDENTIFIANTS) - type: TYPE - name_acronym: NOM(ACRONYME) file_input_message: Déposez votre fichier ici ou, parcourez les fichiers sur votre appareil. all_languages: Toutes les langues select_anguage: Sélectionnez une langue diff --git a/config/locales/it.yml b/config/locales/it.yml.sample similarity index 100% rename from config/locales/it.yml rename to config/locales/it.yml.sample From 665e8c09eaaebcd2534b7af3e86ba8feccde9250 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Thu, 28 Mar 2024 04:16:10 +0100 Subject: [PATCH 16/19] fix translation upcasing --- app/helpers/internationalisation_helper.rb | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/helpers/internationalisation_helper.rb b/app/helpers/internationalisation_helper.rb index ba2720120..2c47772b2 100644 --- a/app/helpers/internationalisation_helper.rb +++ b/app/helpers/internationalisation_helper.rb @@ -6,9 +6,10 @@ def self.t(*args) return I18n.t(*args) unless $RESOURCE_TERM begin - translation = I18n.t(*args).downcase + original_translation = I18n.t(*args) + downcase_translation = original_translation.downcase rescue - return "Missing translation for #{args.first}" + return "Missing downcase_translation for #{args.first}" end term = I18n.t("resource_term.ontology") @@ -18,19 +19,18 @@ def self.t(*args) resources = I18n.t("resource_term.#{$RESOURCE_TERM}_plural") a_resource = I18n.t("resource_term.#{$RESOURCE_TERM}_single") - if translation.include?(term) && resource + if downcase_translation.include?(term) && resource replacement = resource.capitalize - replacement = resource if translation.include?(term) - if translation.include?(single_term) + replacement = resource if downcase_translation.include?(term) + if downcase_translation.include?(single_term) term = single_term replacement = a_resource end - translation.gsub(term, replacement) - - elsif translation.include?(plural_term) && resources + original_translation.gsub(term, replacement) + elsif downcase_translation.include?(plural_term) && resources replacement = resources.capitalize - replacement = resources if translation.include?(plural_term) - translation.gsub(plural_term, replacement) + replacement = resources if downcase_translation.include?(plural_term) + original_translation.gsub(plural_term, replacement) else I18n.t(*args) end From 39fce387726ba1f7a56a9ce196e9e9558374292c Mon Sep 17 00:00:00 2001 From: Syphax bouazzouni Date: Thu, 28 Mar 2024 04:58:49 +0100 Subject: [PATCH 17/19] fix internationlization not displayed well as sanitized --- app/controllers/concepts_controller.rb | 2 +- app/helpers/application_helper.rb | 2 +- app/helpers/submission_inputs_helper.rb | 2 +- .../concepts/_date_sorted_list.html.haml | 2 +- app/views/concepts/_show.html.haml | 3 +- app/views/fair_score/_details.html.haml | 4 +- config/locales/en.yml | 37 ++++++++----------- config/locales/fr.yml | 18 +++------ 8 files changed, 30 insertions(+), 40 deletions(-) diff --git a/app/controllers/concepts_controller.rb b/app/controllers/concepts_controller.rb index 0af6dce61..127621e9f 100644 --- a/app/controllers/concepts_controller.rb +++ b/app/controllers/concepts_controller.rb @@ -166,7 +166,7 @@ def details ontology_not_found(params[:ontology]) if @ontology.nil? @concept = @ontology.explore.single_class({full: true}, CGI.unescape(params[:conceptid])) - concept_not_found(CGI.unescape(params[:conceptid])) if @concept.nil? + concept_not_found(CGI.unescape(params[:conceptid])) if @concept.nil? || @concept.errors @container_id = params[:modal] ? 'application_modal_content' : 'concept_details' if params[:styled].eql?("true") diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0cd82b3b3..b59ef723e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -540,7 +540,7 @@ def attribute_enforced_values(attr) def prefix_properties(concept_properties) modified_properties = {} - concept_properties.each do |key, value| + concept_properties&.each do |key, value| if value.is_a?(Hash) && value.key?(:key) key_string = value[:key].to_s next if key_string.include?('metadata') diff --git a/app/helpers/submission_inputs_helper.rb b/app/helpers/submission_inputs_helper.rb index 958f04983..b872ba26b 100644 --- a/app/helpers/submission_inputs_helper.rb +++ b/app/helpers/submission_inputs_helper.rb @@ -246,7 +246,7 @@ def contact_input(label: '', name: t('submission_inputs.contact'), show_help: tr render NestedFormInputsComponent.new(object_name: 'contact', default_empty_row: true) do |c| c.header do - content_tag(:div, label: t('submission_inputs.contact_name', name: name), class: 'w-50') + content_tag(:div, t('submission_inputs.contact_email', name: name), class: 'w-50') + content_tag(:div, t('submission_inputs.contact_name', name: name), class: 'w-50') + content_tag(:div, t('submission_inputs.contact_email', name: name), class: 'w-50') end c.template do diff --git a/app/views/concepts/_date_sorted_list.html.haml b/app/views/concepts/_date_sorted_list.html.haml index 45d63a862..13628d3c2 100644 --- a/app/views/concepts/_date_sorted_list.html.haml +++ b/app/views/concepts/_date_sorted_list.html.haml @@ -3,4 +3,4 @@ current_page: @page.page, next_page: @page.nextPage) do |c| = render_concepts_by_dates(auto_click: @page.page.eql?(1)) - c.error do - = t('concepts.date_sorted_list_error') \ No newline at end of file + = t('concepts.date_sorted_list_error').html_safe \ No newline at end of file diff --git a/app/views/concepts/_show.html.haml b/app/views/concepts/_show.html.haml index 43c425700..812131a97 100644 --- a/app/views/concepts/_show.html.haml +++ b/app/views/concepts/_show.html.haml @@ -32,7 +32,8 @@ ) - c.item(id: 'mappings', path: '#mappings') do - #{concept_label_to_show(submission: @submission).humanize} Mappings ( + #{t('concepts.mappings')} + ( %span#mapping_count= 'loading' ) diff --git a/app/views/fair_score/_details.html.haml b/app/views/fair_score/_details.html.haml index 6a8457d24..9d9a60cf7 100644 --- a/app/views/fair_score/_details.html.haml +++ b/app/views/fair_score/_details.html.haml @@ -29,9 +29,9 @@ - mod_link =link_to t("fair_score.mod_link"), "https://github.com/sifrproject/MOD-Ontology" - submission_link =link_to t("fair_score.see_the_used_properties"),@rest_uri, target: "_blank" %div - = t("fair_score.metadata_properties", mod_link: "#{mod_link}") + = t("fair_score.metadata_properties", mod_link: "#{mod_link}").html_safe %div - = t("fair_score.ontology_repository", mod_link: "#{mod_link}", submission_link: "#{submission_link}") + = t("fair_score.ontology_repository", mod_link: "#{mod_link}", submission_link: "#{submission_link}").html_safe %div{style:"margin-bottom:400px"} - @fair_scores_data[:criteria][:labels].each_with_index do |label , index| %div.my-3.border{id:get_name_with_out_dot(label)} diff --git a/config/locales/en.yml b/config/locales/en.yml index 58ab14b88..5e47789c2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -56,7 +56,7 @@ en: add_proposal: Add proposal add_new_proposal: Add a new proposal watching: Watching - beta_badge_text: beta + beta_badge_text: Beta beta_badge_tooltip: This feature is experimental and may have issues ontology_not_found: Ontology %{acronym} not found concept_not_found: Concept %{concept} not found @@ -150,10 +150,10 @@ en: days_remaining: Days remaining renew_license: Renew license groups: - group_created: group successfully created in %{time}s + group_created: Group successfully created in %{time}s group_error_creation: Problem creating the group - %{message} group_added_successfully: New Group added successfully - group_updated_successfully: group successfully updated in %{time}s + group_updated_successfully: Group successfully updated in %{time}s problem_of_updating: Problem updating the group - %{message} group_deleted_successfully: group successfully deleted in in %{time}s problem_of_deleting: Problem deleting the group - %{message} @@ -184,12 +184,12 @@ en: edit_group: Edit category save: Save categories: - category_created: category successfully created in %{time}s + category_created: Category successfully created in %{time}s category_error_creation: Problem creating the category - %{message} category_added_successfully: New Category added successfully - category_updated_successfully: category successfully updated in %{time}s + category_updated_successfully: Category successfully updated in %{time}s problem_of_updating: Problem updating the category - %{message} - category_deleted_successfully: category successfully deleted in %{time}s + category_deleted_successfully: Category successfully deleted in %{time}s problem_of_deleting: Problem deleting the category - %{message} edit_button: "Edit" delete: Delete @@ -286,6 +286,7 @@ en: notes: Notes details: Details visualization: Visualization + mappings: Mappings new_term_requests: New Term Requests permanent_link_class: Get a permanent link to this class request_term: @@ -509,7 +510,7 @@ en: back_home_button: Back home recover_password: Recover password email: Email - user: user + user: User email_address_associated: Enter the email address associated with your account and we will send an email with instructions to reset your password. email_placeholder: Enter the email send_instructions: Send instructions @@ -959,29 +960,23 @@ en: submission_inputs: administrators: Administrators ontology_skos_language_link: Please refer to the documentation for more details. - ontology_skos_language_help: | - <<-EOS + ontology_skos_language_help: > SKOS vocabularies submitted to %{portal_name} shall follow a few constraints (e.g., contain a minimum of one skos:ConceptScheme also typed as owl:Ontology) and top concept assertion. %{link} - EOS ontology_obo_language_link: the OBOinOWL parser. - ontology_obo_language_help: | - <<-EOS + ontology_obo_language_help: > OBO ontologies submitted to %{portal_name} will be parsed by the OWL-API which integrates %{link} - The resulting RDF triples will then be loaded in %{portal_name} triple-store. - EOS + The resulting RDF triples will then be loaded in %{portal_name} triple-store. ontology_owl_language_link: the Protégé - ontology_owl_language_help: | - <<-EOS + ontology_owl_language_help: > OWL ontologies submitted to %{portal_name} will be parsed by the OWL-API. An easy way to verify if your ontology will parse is to open it with %{link} software which does use the same component. - EOS + ontology_umls_language_link: by the UMLS2RDF tool. - ontology_umls_language_help: | - <<-EOS + ontology_umls_language_help: > UMLS-RRF resources are usually produced %{link} - EOS + groups: Groups visibility: Visibility accounts_allowed: Add or remove accounts that are allowed to see this ontology in %{portal_name}. @@ -1084,7 +1079,7 @@ en: filters: Filters no_license: No license view_license: View license - access_rights_information: Additional license a access rights information + access_rights_information: Additional license and access rights information referred_to: It can also be referred to as private_ontology: Private Ontology formality_levels: Formality levels diff --git a/config/locales/fr.yml b/config/locales/fr.yml index cd465beb8..b6f0e2488 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -291,6 +291,7 @@ fr: notes: Notes details: Détails visualization: Visualisation + mappings: Mappages new_term_requests: Nouvelles demandes de termes permanent_link_class: Obtenir un lien permanent vers cette classe request_term: @@ -986,29 +987,22 @@ fr: submission_inputs: administrators: Administrateurs ontology_skos_language_link: Veuillez vous référer à la documentation pour plus de détails. - ontology_skos_language_help: | - <<-EOS + ontology_skos_language_help: > Les vocabulaires SKOS soumis à %{portal_name} doivent suivre quelques contraintes (par exemple, contenir au minimum un skos:ConceptScheme également typé comme owl:Ontology) et assertion de concept principal. %{link} - EOS ontology_obo_language_link: le parser OBOinOWL. - ontology_obo_language_help: | - <<-EOS + ontology_obo_language_help: > Les ontologies OBO soumises à %{portal_name} seront analysées par l'OWL-API qui intègre %{link} Les triplets RDF résultants seront ensuite chargés dans le triple-store de %{portal_name}. - EOS + ontology_owl_language_link: le Protégé - ontology_owl_language_help: | - <<-EOS + ontology_owl_language_help: > Les ontologies OWL soumises à %{portal_name} seront analysées par l'OWL-API. Une manière simple de vérifier si votre ontologie sera analysée est de l'ouvrir avec %{link} logiciel qui utilise le même composant. - EOS ontology_umls_language_link: par l'outil UMLS2RDF. - ontology_umls_language_help: | - <<-EOS + ontology_umls_language_help: > Les ressources UMLS-RRF sont généralement produites %{link} - EOS groups: Groupes visibility: Visibilité accounts_allowed: Ajouter ou supprimer des comptes autorisés à voir cette ontologie dans %{portal_name}. From eb608b1d5462f4d0a3136293ef6630fd2113a15e Mon Sep 17 00:00:00 2001 From: Syphax bouazzouni Date: Thu, 28 Mar 2024 05:38:38 +0100 Subject: [PATCH 18/19] re-write the french translations --- config/locales/fr.yml | 226 +++++++++++++++++++++--------------------- 1 file changed, 113 insertions(+), 113 deletions(-) diff --git a/config/locales/fr.yml b/config/locales/fr.yml index b6f0e2488..366917b4f 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1,8 +1,8 @@ --- fr: show_advanced_options: Afficher les options avancées - hide_advanced_options: Cacher les options avancées - no_result_was_found: Aucun résultat trouvé + hide_advanced_options: Masquer les options avancées + no_result_was_found: Aucun résultat n'a été trouvé activaterecord: errors: @@ -11,7 +11,7 @@ fr: attributes: encrypted_key: invalid_license_key: est une clé de licence invalide. - no_appliance_id_for_comparison: n'a pas pu être validé. Impossible de récupérer l'ID de l'appliance virtuelle. + no_appliance_id_for_comparison: n'a pas pu être validée. Impossible de récupérer l'ID de l'appliance virtuelle. appliance_id_mismatch: ne correspond pas à l'ID de l'appliance virtuelle. @@ -45,15 +45,15 @@ fr: language: translation_not_available: "Traduction en %{language} non disponible" - portal_language_help_text: Indiquer la langue dans laquelle les interfaces doivent apparaître - search_language_help_text: Indiquer la langue dans laquelle effectuer la recherche, en restreignant la correspondance de texte exclusivement à des termes dans cette langue - content_language_help_text_1: Indiquer la langue dans laquelle le contenu de cette ressource sera affiché. + portal_language_help_text: Indiquez la langue dans laquelle les interfaces doivent apparaître + search_language_help_text: Indiquez la langue dans laquelle effectuer la recherche, en restreignant la correspondance de texte exclusivement à des termes dans cette langue + content_language_help_text_1: Indiquez la langue dans laquelle le contenu de cette ressource sera affiché. content_language_help_text_2: Les langues disponibles sont spécifiées par l'administrateur de la ressource. application: powered_by: Propulsé par BioPortal projects: Projets - loading: chargement... + loading: Chargement en cours... errors_in_fields: Erreurs dans les champs %{errors} add_comment: Ajouter un commentaire add_new_comment: Ajouter un nouveau commentaire @@ -61,16 +61,16 @@ fr: add_proposal: Ajouter une proposition add_new_proposal: Ajouter une nouvelle proposition watching: Surveillance - beta_badge_text: bêta + beta_badge_text: Version bêta beta_badge_tooltip: Cette fonctionnalité est expérimentale et peut comporter des problèmes ontology_not_found: Ontologie %{acronym} non trouvée concept_not_found: Concept %{concept} non trouvé error_load: "Erreur : échec du chargement" not_found_message: Non trouvé - try_again: Il y a eu une erreur, veuillez réessayer + try_again: Une erreur s'est produite, veuillez réessayer provide_ontology_or_concept: Veuillez fournir un identifiant d'ontologie ou un identifiant de concept avec un identifiant d'ontologie. search_for_class: Veuillez rechercher une classe à l'aide du champ Jump To ci-dessus - missing_roots_for_ontology: Racines @ manquantes pour %{acronym} + missing_roots_for_ontology: Racines manquantes pour %{acronym} missing_roots: Racines manquantes %{id} missing_class: Classe manquante %{root_child} missing_class_ontology: Classe manquante %{acronym} / %{concept_id} @@ -157,12 +157,12 @@ fr: renew_license: Renouveler la licence groups: - group_created: groupe créé avec succès en %{time}s + group_created: Groupe créé avec succès en %{time}s group_error_creation: Problème lors de la création du groupe - %{message} - group_added_successfully: Nouveau Groupe ajouté avec succès - group_updated_successfully: groupe mis à jour avec succès en %{time}s + group_added_successfully: Nouveau groupe ajouté avec succès + group_updated_successfully: Groupe mis à jour avec succès en %{time}s problem_of_updating: Problème lors de la mise à jour du groupe - %{message} - group_deleted_successfully: groupe supprimé avec succès en %{time}s + group_deleted_successfully: Groupe supprimé avec succès en %{time}s problem_of_deleting: Problème lors de la suppression du groupe - %{message} synchronization_of_groups: Synchronisation des groupes commencée avec succès error_parsing: "Erreur d'analyse de la réponse JSON - %{class} : %{message}" @@ -188,17 +188,17 @@ fr: actions: Actions no_agents: Il n'y a actuellement aucun agent. edit: - edit_group: Modifier la catégorie + edit_group: Modifier le groupe save: Sauvegarder categories: - category_created: catégorie créée avec succès en %{time}s + category_created: Catégorie créée avec succès en %{time}s category_error_creation: Problème lors de la création de la catégorie - %{message} - category_added_successfully: Nouvelle Catégorie ajoutée avec succès - category_updated_successfully: catégorie mise à jour avec succès en %{time}s + category_added_successfully: Nouvelle catégorie ajoutée avec succès + category_updated_successfully: Catégorie mise à jour avec succès en %{time}s problem_of_updating: Problème lors de la mise à jour de la catégorie - %{message} - category_deleted_successfully: catégorie supprimée avec succès en %{time}s + category_deleted_successfully: Catégorie supprimée avec succès en %{time}s problem_of_deleting: Problème lors de la suppression de la catégorie - %{message} - edit_button: "Éditer" + edit_button: Éditer delete: Supprimer info_error_delete: Impossible de supprimer cette catégorie car elle est encore utilisée turbo_confirm: Êtes-vous sûr ? @@ -291,7 +291,7 @@ fr: notes: Notes details: Détails visualization: Visualisation - mappings: Mappages + mappings: Alignements new_term_requests: Nouvelles demandes de termes permanent_link_class: Obtenir un lien permanent vers cette classe request_term: @@ -312,8 +312,7 @@ fr:

Justification (optionnel)
Fournissez ici toute information supplémentaire concernant le terme demandé.

- - + home: ontoportal_instances: "Instances d'Ontoportal" bug: Bug @@ -327,11 +326,11 @@ fr: notice_feedback: Le retour a été envoyé account_title: Informations sur le compte agroportal_figures: "%{site} en chiffres" - benefit1: Découvrez de nouvelles perspectives et connaissances en explorant d'autres ontologies ou ressources sémantiques dans le répertoire. + benefit1: Découvrir de nouvelles perspectives et connaissances en explorant d'autres ontologies ou ressources sémantiques dans le répertoire. benefit2: Contribuez au partage de connaissances et à l'interopérabilité sémantique dans votre domaine. benefit3: Cartographiez votre ontologie avec d'autres ontologies pertinentes dans le domaine et collaborez avec d'autres utilisateurs. - benefit4: Obtenez des retours et des suggestions d'autres utilisateurs qui peuvent utiliser et commenter votre ontologie. - benefit5: Décrivez précisément votre ontologie avec des métadonnées pertinentes et obtenez un score FAIR pour votre ontologie. + benefit4: Obtenir des retours et des suggestions d'autres utilisateurs qui peuvent utiliser et commenter votre ontologie. + benefit5: Décrire précisément votre ontologie avec des métadonnées pertinentes et obtenir votre score FAIR. fair_details: Voir les détails fairness: Score FAIR get_annotations: Obtenir des annotations @@ -341,10 +340,10 @@ fr: title: Bienvenue sur %{site} welcome: Bienvenue sur %{site}, ontology_upload: Vous souhaitez partager une ontologie ? - ontology_upload_benefits: 'En téléchargeant et partageant votre ontologie sur %{site}, vous pouvez :' + ontology_upload_benefits: 'En téléchargeant et partageant votre ontologie sur %{site}, vous pourrez:' ontology_upload_button: Soumettre une ontologie discover_ontologies_button: Découvrir des ontologies - ontology_upload_desc: Télécharger une ontologie ou un autre type d'artefact sémantique (vocabulaire, terminologie, thésaurus, ...) est un moyen de partager vos connaissances avec d'autres. + ontology_upload_desc: Télécharger une ontologie ou un autre type d'artefact sémantique (vocabulaire, terminologie, thésaurus, ...) est un moyen de partager vos connaissances avec les autres. paste_text_prompt: Entrez un paragraphe de texte ou quelques mots-clés... recommender_annotator: Recommandeur et Annotateur support_and_collaborations: Support & Collaborations @@ -358,7 +357,7 @@ fr: individuals: Individus properties: Propriétés projects: Projets - mappings: Mappages + mappings: Alignements users: Utilisateurs twitter_news: Nouvelles feedback: @@ -396,7 +395,6 @@ fr: projects_count: "%{count} projets" notes_count: "%{count} notes" reviews_count: "%{count} critiques" - projects_count: "%{count} projets" as_contact_count: "%{count} comme contact" as_contributor_count: "%{count} comme contributeur" as_creator_count: "%{count} comme créateur" @@ -452,7 +450,8 @@ fr: size: taille title: "Paysage" ontologies_properties: Propriétés des ontologies - layout: + + layout: header: account_setting: Paramètres du compte annotator: Annotateur @@ -462,13 +461,13 @@ fr: landscape: Paysage login: Connexion logout: Déconnexion - mappings: Mappages + mappings: Alignements recommender: Recommandeur publications: Publications release_notes: Notes de version search_prompt: Rechercher dans %{portal_name} ... submit_feedback: Envoyer un retour - support: Support + support: Aides cite_us: Citez-nous footer: products: Produits @@ -476,7 +475,7 @@ fr: release_notes: Notes de version api: API sparql: SPARQL - support: Support + support: Aides contact_us: Contactez-nous wiki: Wiki documentation: Documentation @@ -536,45 +535,45 @@ fr: mappings: select_ontologies_list: "Sélectionner des ontologies" - external_mappings: "Mappages Externes (%{number_with_delimiter})" - interportal_mappings: "Mappages Interportail - %{acronym} (%{number_with_delimiter})" - test_bulk_load: Ceci est les mappages produits pour tester le chargement en masse - mapping_created: Mappage créé - mapping_updated: Mappage mis à jour + external_mappings: "Alignements Externes (%{number_with_delimiter})" + interportal_mappings: "Alignements Interportail - %{acronym} (%{number_with_delimiter})" + test_bulk_load: Ceci est les alignements produits pour tester le chargement en masse + mapping_created: Alignement créé + mapping_updated: Alignement mis à jour mapping_deleted: "%{map_id} supprimé avec succès" - mapping_not_found: "Mappage %{id} non trouvé" + mapping_not_found: "Alignement %{id} non trouvé" error_of_source_and_target: Les concepts source et cible doivent être spécifiés - mapping_issue: "Problème de mappage avec '%{mapping}' : %{message}" - find_mappings: Trouver les mappages d'une classe/concept - intro: Trouver tous les mappages d'une ontologie - loading_mappings: Chargement des mappages... - mappings_bulk_load: Télécharger des mappages en masse à partir d'un fichier source - no_mappings_available: Aucun mappage disponible - title: Mappages - upload_mappings: Télécharger des mappages + mapping_issue: "Problème d'alignement avec '%{mapping}' : %{message}" + find_mappings: Trouver les alignements d'une classe/concept + intro: Trouver tous les alignements d'une ontologie + loading_mappings: Chargement des alignements... + mappings_bulk_load: Télécharger des alignements en masse à partir d'un fichier source + no_mappings_available: Aucun alignement disponible + title: Alignements + upload_mappings: Télécharger des alignements all: Tout count: ontology: Ontologie - mappings: Mappages - no_mappings: Il n'y a aucun mappage vers ou depuis cette ontologie + mappings: Alignements + no_mappings: Il n'y a aucun alignement vers ou depuis cette ontologie form: source_class: Classe source - mapping_name: Description du mappage (nom) + mapping_name: Description du alignement (nom) contact_info: Informations de contact - mapping_source_name: Nom de la source (ID de l'ensemble de mappage) + mapping_source_name: Nom de la source (ID de l'ensemble de alignement) mapping_comment: Commentaire - mapping_relation: Type de relation de mappage + mapping_relation: Type de relation de alignement save: Sauvegarder mapping_table: - mapping_to: Mappage vers + mapping_to: Alignement vers relations: Relations source: Source type: Type actions: Actions - no_mappings: Il n'y a actuellement aucun mappage pour cette classe. + no_mappings: Il n'y a actuellement aucun alignement pour cette classe. mapping_type_selector: - mapping_type: Type de mappage - internal: Interne + mapping_type: Type de alignement + internal: Interne interportal: InterPortail external: Externe target_class: Classe cible @@ -588,15 +587,15 @@ fr: edit_modal: Éditer delete_button: Supprimer turbo_confirm: Êtes-vous sûr ? - edit_mapping: Éditer le mappage pour %{preflabel} + edit_mapping: Éditer l'alignement pour %{preflabel} show: - no_mappings_found: Aucun mappage trouvé + no_mappings_found: Aucun alignement trouvé bulk_loader: loader: example_of_valid_file: Voir un exemple de fichier valide save: Sauvegarder loaded_mappings: - mappings_created: "%{size} mappages créés avec succès" + mappings_created: "%{size} alignements créés avec succès" id: Id source: Source target: Cible @@ -604,6 +603,7 @@ fr: properties: Propriétés actions: Actions see_other_properties: Voir d'autres propriétés + agents: not_found_agent: Agent avec id %{id} add_agent: Nouvel agent ajouté avec succès @@ -644,7 +644,7 @@ fr: properties: Propriétés instances: Instances notes: Remarques - mappings: Mappages + mappings: Alignements widgets: Widgets sparql: Sparql concepts: Conceptes @@ -665,7 +665,6 @@ fr: header: last_submission_date: Date de la dernière soumission - projects: project_not_found: "Projet non trouvé : %{id}" project_successfully_created: Projet créé avec succès @@ -695,7 +694,7 @@ fr: show: title: Projet %{name} edit_project: Éditer le Projet - description: "Description :" + description: "Description :" institution: "Institution :" contacts: "Contacts :" home_page: "Page d'accueil :" @@ -724,8 +723,6 @@ fr: new_project: Nouveau projet create_project: Créer le Projet - - recommender: title: Recommandeur intro: Obtenez des recommandations pour les ontologies les plus pertinentes à partir d'un extrait de texte ou d'une liste de mots-clés @@ -748,7 +745,6 @@ fr: get_recommendations: Obtenir des recommandations edit: Éditer results_title: Ontologies recommandées - acceptance: Acceptation results_table: ontology: Ontologie final_score: Score final @@ -770,6 +766,7 @@ fr: password: Mot de passe title: S'inscrire username: Nom d'utilisateur + users: account_successfully_created: Compte créé avec succès account_successfully_updated: Compte mis à jour avec succès @@ -836,7 +833,7 @@ fr: visiter le site principal pour modifier votre Ensemble d'ontologies Personnalisées. customize_portal_display: "Personnalisez votre affichage sur %{portal} : Choisissez les ontologies que vous souhaitez voir sur %{portal}, les autres ontologies seront cachées." - select_semantic_resources : Sélectionner des ontologies + select_semantic_resources: Sélectionner des ontologies no_semantic_resources: Vous n'avez encore sélectionné aucune ontologie note_feature_logged_in: "Note : cette fonctionnalité ne fonctionne que lorsque vous êtes connecté." save_custom_semantic_resources: Sauvegarder les ontologies personnalisées @@ -851,7 +848,6 @@ fr: no_uploaded_resources: Vous n'avez encore téléchargé aucune ontologie notes: Notes - search: no_search_class_provided: Aucune classe de recherche fournie search_place_holder: Entrez un terme, par ex. hauteur de plante @@ -982,7 +978,7 @@ fr: add_user_button: Ajouter un utilisateur accounts_with_access: "Comptes avec accès" export_users_link: "Exporter les utilisateurs de l'Appliance en CSV" - bioportal_user: ID utilisateur BioPortal + bioportal_user: ID utilisateur BioPortal submission_inputs: administrators: Administrateurs @@ -992,27 +988,27 @@ fr: et assertion de concept principal. %{link} ontology_obo_language_link: le parser OBOinOWL. ontology_obo_language_help: > - Les ontologies OBO soumises à %{portal_name} seront analysées par l'OWL-API qui intègre %{link} - Les triplets RDF résultants seront ensuite chargés dans le triple-store de %{portal_name}. + Les ontologies OBO soumises à %{portal_name} seront analysées par l'OWL-API qui intègre %{link} + Les triplets RDF résultants seront ensuite chargés dans le triple-store de %{portal_name}. ontology_owl_language_link: le Protégé ontology_owl_language_help: > - Les ontologies OWL soumises à %{portal_name} seront analysées par l'OWL-API. Une manière simple de vérifier si votre ontologie sera analysée est de l'ouvrir avec - %{link} - logiciel qui utilise le même composant. + Les ontologies OWL soumises à %{portal_name} seront analysées par l'OWL-API. Une manière simple de vérifier si votre ontologie sera analysée est de l'ouvrir avec + %{link} + logiciel qui utilise le même composant. ontology_umls_language_link: par l'outil UMLS2RDF. ontology_umls_language_help: > - Les ressources UMLS-RRF sont généralement produites %{link} - groups: Groupes - visibility: Visibilité - accounts_allowed: Ajouter ou supprimer des comptes autorisés à voir cette ontologie dans %{portal_name}. - ontology_view_of_another_ontology: Cette ontologie est-elle une vue d'une autre ontologie ? - contact: Contact - equivalents: Équivalents - validators: Validateurs - help_text: Texte d'aide - contact_name: "Nom du %{name}" - contact_email: "Email du %{name}" + Les ressources UMLS-RRF sont généralement produites %{link} + groups: Groupes + visibility: Visibilité + accounts_allowed: Ajouter ou supprimer des comptes autorisés à voir cette ontologie dans %{portal_name}. + ontology_view_of_another_ontology: Cette ontologie est-elle une vue d'une autre ontologie ? + contact: Contact + equivalents: Équivalents + validators: Validateurs + help_text: Texte d'aide + contact_name: "Nom du %{name}" + contact_email: "Email du %{name}" collections: error_valid_collection: "Erreur : Vous devez fournir un identifiant de collection valide" @@ -1021,6 +1017,7 @@ fr: preferred_name: Nom préféré members_count: Nombre de membres type: Type + change_requests: change_request_success_message: Votre demande de modification a été soumise avec succès ! Voir le %{url} sur GitHub. label: Étiquette @@ -1079,6 +1076,7 @@ fr: id: ID preferred_name: Nom préféré type: Type + fair_score: fairness_unreachable_warning: Problème d'accès au service FAIRness go_to_api: Aller à l'API @@ -1091,6 +1089,7 @@ fr: not_found: non trouvé "null": "null" view_fair_scores_definitions: "Vous voyez le score d'évaluation de l'équité FAIR pour cette ontologie dans AgroPortal. Les scores FAIR sont calculés avec la méthodologie O'FAIRe. Plus de détails ici : https://github.com/agroportal/fairness" + ontologies_metadata_curator: #bulk_edit: Commencer l'édition en masse #use_the_bulk_edit: Pour utiliser l'édition en masse, sélectionnez dans le tableau les soumissions (les lignes) et les propriétés de métadonnées (les colonnes) que vous souhaitez éditer @@ -1103,6 +1102,7 @@ fr: apply_the_change_for_all: Appliquer le changement pour tous update_the_current_displayed_content: "mettra à jour le contenu actuellement affiché pour toutes les soumissions suivantes :" save: Sauvegarder + ontologies: showing_ontologies_size: "Affichage de %{ontologies_size} sur %{analytics_size}" filters: Filtres @@ -1126,14 +1126,13 @@ fr: edit_available_languages: Cliquez ici pour modifier les langues disponibles add_new_submission: Ajouter une nouvelle soumission edit_metadata: Modifier les métadonnées - go_to_api: Aller à l'API projects_using_ontology: Projets utilisant %{acronym} create_new_project: Créer un nouveau projet no_projects_using_ontology: Aucun projet n'utilise %{acronym} outside: extérieur relation_with_other_ontologies: Relation avec d'autres ontologies soit à l'intérieur soit à l'extérieur ontology_search_prompt: 'Rechercher une ontologie ou un terme (par exemple, hauteur de plante)' - views: Vues + views: Vues create_new_view: Créer une nouvelle vue expand_all: Tout déplier collapse_all: Tout replier @@ -1161,7 +1160,7 @@ fr: ontology_submitted: Ontologie soumise avec succès ! users_can_see: Les utilisateurs peuvent maintenant voir your_ontology: votre ontologie - exploring_and_searching: | + exploring_and_searching: | dans notre liste d'ontologies mais ils ne peuvent pas l'explorer ou la rechercher. Pour permettre l'exploration et la recherche, veuillez télécharger une version complète de votre ontologie. submitting_ontology_view: Merci d'avoir soumis votre vue d'ontologie à %{site}. @@ -1181,7 +1180,6 @@ fr: change_notes: Notes de changement modification_date: Date de modification date_of_original_creation: Date de création originale - concepts_browsers: select_scheme: Veuillez sélectionner un schéma à afficher missing_roots: Racines manquantes pour %{acronym} (skos:topConceptOf) @@ -1275,33 +1273,34 @@ fr: ncbo_widget_wiki: Wiki des Widgets NCBO file: fichier. no_class_concept_found: Aucune classe/concept trouvé + metadata: + fair_score_title: Score FAIR + total_score: "Score total : %{score} ( %{normalized_score}%)" - metadata: - fair_score_title: Score FAIR - total_score: "Score total : %{score} ( %{normalized_score}%)" + metrics: Métriques + metrics_link_title: Informations et diagrammes d'évolution sur les métriques et autres mesures de l'ontologie. + see_all_metrics: Voir toutes les métriques de %{acronym} + show_modal_title_1: Toutes les métriques de %{acronym} + not_calculated_metrics: Nous n'avons pas encore calculé de métriques pour %{acronym} + show_modal_title_2: "Évolution du nombre de %{metric} dans %{acronym} par soumissions." - metrics: Métriques - metrics_link_title: Informations et diagrammes d'évolution sur les métriques et autres mesures de l'ontologie. - see_all_metrics: Voir toutes les métriques de %{acronym} - show_modal_title_1: Toutes les métriques de %{acronym} - not_calculated_metrics: Nous n'avons pas encore calculé de métriques pour %{acronym} - show_modal_title_2: "Évolution du nombre de %{metric} dans %{acronym} par soumissions." + submissions: Soumissions + submissions_link_title: Ensemble de tous les fichiers qui ont été soumis à %{site}. Chaque enregistrement de métadonnées précédent est accessible mais seul le contenu du dernier fichier analysé est accessible via les services de %{site} - submissions: Soumissions - submissions_link_title: Ensemble de tous les fichiers qui ont été soumis à %{site}. Chaque enregistrement de métadonnées précédent est accessible mais seul le contenu du dernier fichier analysé est accessible via les services de %{site} + relations_network: Réseau de relations des ontologies + + general_information: Informations générales + initial_created_on: Créé initialement le + additional_information: Pour des informations supplémentaires, contactez + categories_and_subjects: Catégories et sujets + keywords_and_classes: Mots-clés et classes + languages: Langues + pull_location: Emplacement de tirage + export_metadata: Exporter toutes les métadonnées + abstract: Résumé + description: Description - relations_network: Réseau de relations des ontologies - general_information: Informations générales - initial_created_on: Créé initialement le - additional_information: Pour des informations supplémentaires, contactez - categories_and_subjects: Catégories et sujets - keywords_and_classes: Mots-clés et classes - languages: Langues - pull_location: Emplacement de tirage - export_metadata: Exporter toutes les métadonnées - abstract: Résumé - description: Description components: check_resolvability: vérification de la résolvabilité... error_block: le bloc child_data_generator n'a pas fourni tous les arguments enfants @@ -1311,7 +1310,7 @@ fr: go_to_api: Aller à l'API file_input_message: Déposez votre fichier ici ou, parcourez les fichiers sur votre appareil. all_languages: Toutes les langues - select_anguage: Sélectionnez une langue + select_language: Sélectionnez une langue back: Retour next: Suivant finish: Terminer @@ -1340,17 +1339,18 @@ fr: join_the_count: Rejoignez les %{count} utilisateurs, surveillant cette ressource et soyez informé de toutes ses mises à jour see_more: Voir plus... see_less: Voir moins... + properties: id: ID preferred_name: Nom préféré definitions: Définitions parent: Parent + visits: ontology_visits: Visites de l'ontologie name: nom visits: visites - ontologies_selector: clear_selection: Effacer la sélection ontologies_advanced_selection: Sélection avancée des ontologies From f42ef4387c8b74d3ff6107b6dbddbd735642db85 Mon Sep 17 00:00:00 2001 From: Syphax Bouazzouni Date: Fri, 29 Mar 2024 09:56:05 +0100 Subject: [PATCH 19/19] add edit submission french translations --- app/helpers/internationalisation_helper.rb | 4 +- app/helpers/ontologies_helper.rb | 2 + app/helpers/submission_inputs_helper.rb | 2 +- app/helpers/submissions_helper.rb | 40 +++---- app/views/annotator/index.html.haml | 4 +- app/views/landscape/index.html.haml | 2 +- .../ontologies/sections/_metadata.html.haml | 2 +- app/views/recommender/index.html.haml | 4 +- app/views/submissions/edit.html.haml | 3 +- config/locales/en.yml | 25 +++- config/locales/fr.yml | 107 ++++++++++-------- 11 files changed, 108 insertions(+), 87 deletions(-) diff --git a/app/helpers/internationalisation_helper.rb b/app/helpers/internationalisation_helper.rb index 2c47772b2..d70fac6d4 100644 --- a/app/helpers/internationalisation_helper.rb +++ b/app/helpers/internationalisation_helper.rb @@ -8,8 +8,8 @@ def self.t(*args) begin original_translation = I18n.t(*args) downcase_translation = original_translation.downcase - rescue - return "Missing downcase_translation for #{args.first}" + rescue StandardError => e + return e.message end term = I18n.t("resource_term.ontology") diff --git a/app/helpers/ontologies_helper.rb b/app/helpers/ontologies_helper.rb index 90ae7690b..c40b54509 100644 --- a/app/helpers/ontologies_helper.rb +++ b/app/helpers/ontologies_helper.rb @@ -54,6 +54,8 @@ def private_ontology_icon(is_private) end def browse_filter_section_label(key) labels = { + categories: t('ontologies.categories'), + groups: t('ontologies.groups'), hasFormalityLevel: t('ontologies.formality_levels'), isOfType: t('ontologies.ontology_types'), naturalLanguage: t('ontologies.natural_languages') diff --git a/app/helpers/submission_inputs_helper.rb b/app/helpers/submission_inputs_helper.rb index b872ba26b..d609a8ee9 100644 --- a/app/helpers/submission_inputs_helper.rb +++ b/app/helpers/submission_inputs_helper.rb @@ -246,7 +246,7 @@ def contact_input(label: '', name: t('submission_inputs.contact'), show_help: tr render NestedFormInputsComponent.new(object_name: 'contact', default_empty_row: true) do |c| c.header do - content_tag(:div, t('submission_inputs.contact_name', name: name), class: 'w-50') + content_tag(:div, t('submission_inputs.contact_email', name: name), class: 'w-50') + content_tag(:div, name.blank? ? '' : t('submission_inputs.contact_name', name: name), class: 'w-50') + content_tag(:div, name.blank? ? '' : t('submission_inputs.contact_email', name: name), class: 'w-50') end c.template do diff --git a/app/helpers/submissions_helper.rb b/app/helpers/submissions_helper.rb index aaa2bd55f..6e75061bd 100644 --- a/app/helpers/submissions_helper.rb +++ b/app/helpers/submissions_helper.rb @@ -2,11 +2,10 @@ module SubmissionsHelper def metadata_help_link content_tag(:div, class: 'edit-ontology-desc') do html = content_tag(:div) do - content_tag(:div, 'Edit the metadata of your ontology here.') + - content_tag(:span, "Some of these values are used by #{portal_name} functionalities, includng for FAIRness assessment. ") + - content_tag(:span) do - link_to('See guidelines and recommendations for metadata here.', Rails.configuration.settings.links[:metadata_help], target: "_blank") - end + content_tag(:div, t('submission_inputs.edit_metadata_instruction', + portal_name: portal_name, + link: link_to(t('submission_inputs.edit_metadata_instruction_link'), Rails.configuration.settings.links[:metadata_help], target: '_blank')).html_safe + ) end html.html_safe @@ -15,12 +14,10 @@ def metadata_help_link def metadata_license_help_link content_tag(:div, class: 'edit-ontology-desc') do - html = content_tag(:div) do - content_tag(:span, " #{portal_name} requires an URI for the license. If you do not find your choice here, ") + - content_tag(:span) do - link_to('Please pick up an URI from here.', "https://rdflicense.linkeddata.es/", target: "_blank") - end - end + html = content_tag(:div, t('submission_inputs.license_help', + portal_name: portal_name, + link: link_to(t('submission_inputs.license_help_link'), "https://rdflicense.linkeddata.es/", target: '_blank')).html_safe + ) html.html_safe end end @@ -28,7 +25,7 @@ def metadata_license_help_link def metadata_deprecated_help content_tag(:div, style: 'edit-ontology-desc') do html = content_tag(:div) do - content_tag(:div, " An ontology with status retired shall necessarily be also deprecated, but not the opposite.") + content_tag(:div, t('submission_inputs.deprecated_help')) end html.html_safe end @@ -37,10 +34,7 @@ def metadata_deprecated_help def metadata_knownUsage_help content_tag(:div, class: 'edit-ontology-desc') do html = content_tag(:div) do - content_tag(:span, 'Consider also declaring ') + - content_tag(:span, style: 'width: 10px; height: 10px') do - link_to('the projects that are using the ontology.', "/projects/new", target: "_blank") - end + content_tag(:span, t('submission_inputs.known_usage_help', metadata_knownUsage_help: link_to(t('submission_inputs.known_usage_help_link'), "/projects/new", target: "_blank")).html_safe) end html.html_safe end @@ -49,7 +43,7 @@ def metadata_knownUsage_help def metadata_help_creator content_tag(:div, class: 'edit-ontology-desc') do html = content_tag(:div, style: 'text-align: center; margin-top: 56px;') do - content_tag(:span, "The following properties take for value an 'agent' in #{portal_name} (either a person or an organization). These agents are shared over all the ontologies and suggested with autocompletion if they already exist. Editing an agent here will change it to all the ontologies that agent is involved in.") + content_tag(:span, t('submission_inputs.help_creator', portal_name: portal_name)) end html.html_safe @@ -58,13 +52,7 @@ def metadata_help_creator def metadata_version_help content_tag(:div, class: 'edit-ontology-desc') do - html = content_tag(:div) do - content_tag(:span, 'For more information on how to encode versionning information in an ontology, see ') + - content_tag(:span, style: 'width: 10px; height: 10px') do - link_to('guidelines and recommendations.', "https://hal.science/hal-04094847", target: "_blank") - end - end - html.html_safe + content_tag(:div , t('submission_inputs.version_help' , link: link_to(t('submission_inputs.version_helper_link'), "https://hal.science/hal-04094847", target: "_blank")).html_safe).html_safe end end @@ -72,9 +60,9 @@ def ontology_submission_id_label(acronym, submission_id) [acronym, submission_id].join('#') end - def submission_metadata_selector(id: 'search_metadata', name: 'search[metadata]', label: 'Filter properties to show') + def submission_metadata_selector(id: 'search_metadata', name: 'search[metadata]', label: t('submission_inputs.metadata_selector_label')) select_input(id: id, name: name, label: label, values: submission_editable_properties.sort, multiple: true, - data: { placeholder: 'Start typing to select properties' }) + data: { placeholder: t('submission_inputs.metadata_selector_placeholder') }) end def ontology_and_submission_id(value) diff --git a/app/views/annotator/index.html.haml b/app/views/annotator/index.html.haml index aa3384133..d947fccb2 100644 --- a/app/views/annotator/index.html.haml +++ b/app/views/annotator/index.html.haml @@ -104,10 +104,10 @@ - btn.icon_left do = inline_svg_tag "summary/sparql.svg" .cite-us-button - = render Buttons::RegularButtonComponent.new(id:'annotator_cite_us', value: "Cite", variant: "secondary", href: $CITE_ANNOTATOR, size: "slim", target: '_blank', state: "regular") do |btn| + = render Buttons::RegularButtonComponent.new(id:'annotator_cite_us', value: t('recommender.cite'), variant: "secondary", href: $CITE_ANNOTATOR, size: "slim", target: '_blank', state: "regular") do |btn| - btn.icon_left do = inline_svg_tag "icons/cite.svg" .annotator-doc - = render Buttons::RegularButtonComponent.new(id:'annotator_api_doc', value: "Annotator API documentation", variant: "secondary", href: $ANNOTATOR_API_DOC, size: "slim", target: '_blank', state: "regular") do |btn| + = render Buttons::RegularButtonComponent.new(id:'annotator_api_doc', value: t('annotator.api_documentation'), variant: "secondary", href: $ANNOTATOR_API_DOC, size: "slim", target: '_blank', state: "regular") do |btn| - btn.icon_left do = inline_svg_tag "summary/documentation.svg" \ No newline at end of file diff --git a/app/views/landscape/index.html.haml b/app/views/landscape/index.html.haml index bd3c3f06e..b67ee4818 100644 --- a/app/views/landscape/index.html.haml +++ b/app/views/landscape/index.html.haml @@ -127,7 +127,7 @@ %hr{:style => "margin-top: 5em; margin-bottom: 5em;"} %h1= t("landscape.ontology_relations_network") - %p{:style => "margin-bottom: 1em;"}= t("landscape.relations_between_stored_ontologies") + %p{:style => "margin-bottom: 1em;"}= t("landscape.relations_between_stored_ontologies", site: portal_name) %div{:style => "display: flex;"} %div{:style => "text-align: left; width: 23em;"} diff --git a/app/views/ontologies/sections/_metadata.html.haml b/app/views/ontologies/sections/_metadata.html.haml index c09f7f360..b2ce387e7 100755 --- a/app/views/ontologies/sections/_metadata.html.haml +++ b/app/views/ontologies/sections/_metadata.html.haml @@ -9,7 +9,7 @@ = render partial: 'ontologies/sections/metadata/ontology_metrics_section' .summary-page-second-row = ontology_depiction_card - = properties_card('Identifiers',t("ontologies.sections.identifiers"), @identifiers) do |values| + = properties_card(t('ontologies.sections.identifiers'),t("ontologies.sections.identifiers"), @identifiers) do |values| = horizontal_list_container(values) do |v| = render LinkFieldComponent.new(value: v, check_resolvability: true) diff --git a/app/views/recommender/index.html.haml b/app/views/recommender/index.html.haml index 837b317d7..e9a708ccd 100644 --- a/app/views/recommender/index.html.haml +++ b/app/views/recommender/index.html.haml @@ -115,11 +115,11 @@ - btn.icon_left do = inline_svg_tag "json.svg" .cite-us-button - = render Buttons::RegularButtonComponent.new(id:'recommender_cite_us', value: "Cite", variant: "secondary", href: $CITE_RECOMMENDER, size: "slim", target: '_blank', state: "regular") do |btn| + = render Buttons::RegularButtonComponent.new(id:'recommender_cite_us', value: t('recommender.cite'), variant: "secondary", href: $CITE_RECOMMENDER, size: "slim", target: '_blank', state: "regular") do |btn| - btn.icon_left do = inline_svg_tag "icons/cite.svg" .go-to-annotator - = render Buttons::RegularButtonComponent.new(id:'recommender_go_annotator', value: "Call Annotator with the same input", variant: "secondary", href: "/annotator?text=#{params[:input]}&ontologies=#{params[:ontologies]}", size: "slim", target: '_blank', state: "regular") do |btn| + = render Buttons::RegularButtonComponent.new(id:'recommender_go_annotator', value: t('recommender.call_annotator'), variant: "secondary", href: "/annotator?text=#{params[:input]}&ontologies=#{params[:ontologies]}", size: "slim", target: '_blank', state: "regular") do |btn| - btn.icon_right do = inline_svg_tag "arrow-right-outlined.svg" diff --git a/app/views/submissions/edit.html.haml b/app/views/submissions/edit.html.haml index fe8265cc4..848e3da82 100644 --- a/app/views/submissions/edit.html.haml +++ b/app/views/submissions/edit.html.haml @@ -4,7 +4,8 @@ = turbo_frame_tag(params[:container_id] || 'test') do = form_for :submission, url: ontology_submission_path(@ontology.acronym, params["id"]), html: { id: "ontology_submission_form", method: :put, multipart: true, 'data-turbo': true, 'data-turbo-frame': '_top', novalidate: 'true'} do .edit-ontology-title - %div Edit ontology + %div + = t('submission_inputs.edit_ontology_title') %hr .edit-ontology-sub-container - if @selected_attributes.empty? diff --git a/config/locales/en.yml b/config/locales/en.yml index 5e47789c2..d141f9ff1 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -265,6 +265,7 @@ en: temporality: Temporality experiencer: Experiencer score: Score + api_documentation: "Annotator API documentation" insert_sample_text: Insert sample text sample_text: Melanoma is a malignant tumor of melanocytes found mainly in the skin but also in the intestine and the eye. concepts: @@ -730,6 +731,8 @@ en: get_recommendations: Get recommendations edit: Edit results_title: Recommended ontologies + call_annotator: Call Annotator with the same input + cite: Cite results_table: ontology: Ontology final_score: Final score @@ -958,6 +961,9 @@ en: export_users_link: "Export Appliance Users As CSV" bioportal_user: BioPortal User ID submission_inputs: + edit_ontology_title: Edit ontology + metadata_selector_label: "Filter properties to show" + metadata_selector_placeholder: "Start typing to select properties" administrators: Administrators ontology_skos_language_link: Please refer to the documentation for more details. ontology_skos_language_help: > @@ -987,6 +993,16 @@ en: help_text: Help text contact_name: "%{name} Name" contact_email: "%{name} Email" + edit_metadata_instruction: "Edit the metadata of your ontology here. Some of these values are used by %{portal_name} functionalities, including for FAIRness assessment. %{link)" + edit_metadata_instruction_link: "See guidelines and recommendations for metadata here." + license_help: "%{portal_name} requires an URI for the license. If you do not find your choice here, %{link}" + license_help_link: "Please pick up an URI from here." + deprecated_help: "An ontology with status retired shall necessarily be also deprecated, but not the opposite." + known_usage_help: "Consider also declaring %{metadata_knownUsage_help}" + known_usage_help_link: "the projects that are using the ontology" + help_creator: "The following properties take for value an 'agent' in %{portal_name} (either a person or an organization). These agents are shared over all the ontologies and suggested with autocompletion if they already exist. Editing an agent here will change it to all the ontologies that agent is involved in." + version_help: "For more information on how to encode versioning information in an ontology, see %{link}" + version_helper_link: "guidelines and recommendations." collections: error_valid_collection: "Error: You must provide a valid collection id" no_collections_alert: "%{acronym} does not contain collections (skos:Collection)" @@ -1083,6 +1099,8 @@ en: referred_to: It can also be referred to as private_ontology: Private Ontology formality_levels: Formality levels + categories: Categories + groups: Groups ontology_types: Ontology types natural_languages: Natural languages showing: Showing @@ -1174,7 +1192,8 @@ en: classes_with_a_single_child: Classes with a single child classes_with_more_than_25_children: Classes with more than 25 children classes_with_no_definition: Classes with no definition - identifiers: Principal identifiers of the ontology. + identifiers: Identifiers + identifiers_tooltip: Principal identifiers of the ontology. dates: Dates person_and_organization: Persons and organizations other_links: Other links @@ -1247,19 +1266,15 @@ en: metadata: fair_score_title: FAIR score total_score: "Total score : %{score} ( %{normalized_score}%)" - metrics: Metrics metrics_link_title: Information and evolution diagrams about metrics and other measurements of the ontology. see_all_metrics: See all the metrics of %{acronym} show_modal_title_1: All the metrics of %{acronym} not_calculated_metrics: We have not yet calculated metrics for %{acronym} show_modal_title_2: "Evolution of the number of %{metric} in %{acronym} per submissions." - submissions: Submissions submissions_link_title: Set of all the files that have been submitted to %{site}. Each previous metadata record is accessible but only the content of the latest parsed file is accessible via %{site} services - relations_network: Ontology relations network - general_information: General information initial_created_on: Initial created on additional_information: For additional information, contact diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 366917b4f..2a47fe490 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -267,6 +267,7 @@ fr: temporality: "Temporalité" experiencer: Experiencer score: Score + api_documentation: "Documentation de l'API de l'annotateur" get_annotation: Obtenir des annotations total_results: Résultats totaux insert_sample_text: Insérer un texte d'exemple @@ -451,7 +452,7 @@ fr: title: "Paysage" ontologies_properties: Propriétés des ontologies - layout: + layout: header: account_setting: Paramètres du compte annotator: Annotateur @@ -643,12 +644,12 @@ fr: summary: Résumé properties: Propriétés instances: Instances - notes: Remarques + notes: Notes mappings: Alignements widgets: Widgets - sparql: Sparql - concepts: Conceptes - schemes: Schemes + sparql: SPARQL + concepts: Concepts + schemes: Schémas collections: Collections concept: definitions: Définitions @@ -745,6 +746,8 @@ fr: get_recommendations: Obtenir des recommandations edit: Éditer results_title: Ontologies recommandées + call_annotator: Appeler l'annotateur avec la même entrée + cite: Citer results_table: ontology: Ontologie final_score: Score final @@ -870,8 +873,8 @@ fr: result_component: details: Détails visualize: Visualiser - more_from_ontology: plus de cette ontologie - reuses_in: Réutilisations dans + more_from_ontology: de plus de cette ontologie + reuses_in: Réutiliser dans notes: no_notes: Aucune note à afficher @@ -981,6 +984,9 @@ fr: bioportal_user: ID utilisateur BioPortal submission_inputs: + edit_ontology_title: Edition de l'ontologie + metadata_selector_label: "Filtrer les propriétés à afficher" + metadata_selector_placeholder: "Commencez à taper pour sélectionner les propriétés" administrators: Administrateurs ontology_skos_language_link: Veuillez vous référer à la documentation pour plus de détails. ontology_skos_language_help: > @@ -990,7 +996,6 @@ fr: ontology_obo_language_help: > Les ontologies OBO soumises à %{portal_name} seront analysées par l'OWL-API qui intègre %{link} Les triplets RDF résultants seront ensuite chargés dans le triple-store de %{portal_name}. - ontology_owl_language_link: le Protégé ontology_owl_language_help: > Les ontologies OWL soumises à %{portal_name} seront analysées par l'OWL-API. Une manière simple de vérifier si votre ontologie sera analysée est de l'ouvrir avec @@ -999,17 +1004,26 @@ fr: ontology_umls_language_link: par l'outil UMLS2RDF. ontology_umls_language_help: > Les ressources UMLS-RRF sont généralement produites %{link} - groups: Groupes - visibility: Visibilité - accounts_allowed: Ajouter ou supprimer des comptes autorisés à voir cette ontologie dans %{portal_name}. - ontology_view_of_another_ontology: Cette ontologie est-elle une vue d'une autre ontologie ? - contact: Contact - equivalents: Équivalents - validators: Validateurs - help_text: Texte d'aide - contact_name: "Nom du %{name}" - contact_email: "Email du %{name}" - + groups: Groupes + visibility: Visibilité + accounts_allowed: Ajouter ou supprimer des comptes autorisés à voir cette ontologie dans %{portal_name}. + ontology_view_of_another_ontology: Cette ontologie est-elle une vue d'une autre ontologie ? + contact: Contact + equivalents: Équivalents + validators: Validateurs + help_text: Texte d'aide + contact_name: "Nom du %{name}" + contact_email: "Email du %{name}" + edit_metadata_instruction: "Modifiez les métadonnées de votre ontologie ici. Certaines de ces valeurs sont utilisées par les fonctionnalités de %{portal_name}, notamment pour l'évaluation de la FAIRness. %{link}" + edit_metadata_instruction_link: "Consultez ici les lignes directrices et recommandations pour les métadonnées." + license_help: "%{portal_name} nécessite une URI pour la licence. Si vous ne trouvez pas votre choix ici, %{link}" + license_help_link: "Veuillez choisir une URI à partir d'ici." + deprecated_help: "Une ontologie avec le statut 'retired' doit nécessairement être également dépréciée, mais pas l'inverse." + known_usage_help: "Considérez également de déclarer %{metadata_knownUsage_help}" + known_usage_help_link: "les projets utilisant l'ontologie" + help_creator: "Les propriétés suivantes prennent pour valeur un 'agent' dans %{portal_name} (soit une personne, soit une organisation). Ces agents sont partagés sur toutes les ontologies et sont suggérés avec l'autocomplétion s'ils existent déjà. Modifier un agent ici le modifiera pour toutes les ontologies auxquelles cet agent est impliqué." + version_help: "Pour plus d'informations sur la manière d'encoder les informations de version dans une ontologie, consultez %{link}" + version_helper_link: "les lignes directrices et recommandations." collections: error_valid_collection: "Erreur : Vous devez fournir un identifiant de collection valide" no_collections_alert: "%{acronym} ne contient pas de collections (skos:Collection)" @@ -1112,6 +1126,8 @@ fr: referred_to: Peut également être désigné comme private_ontology: Ontologie Privée formality_levels: Niveaux de formalité + categories: Catégories + groups: Groupes ontology_types: Types d'ontologies natural_languages: Langues naturelles showing: Affichage @@ -1191,7 +1207,7 @@ fr: admin_welcome: Bienvenue admin, cette coloration indique les fonctionnalités réservées aux administrateurs show_private_ontology: Afficher uniquement les ontologies privées show_ontology_views: Afficher les vues d'ontologie - show_retired_ontologies: Afficher les ontologies retirées + show_retired_ontologies: Afficher les ontologies abandonner search_placeholder: Commencez à taper pour filtrer les ontologies, par ex., AGROVOC... sections: classes: Classes @@ -1203,8 +1219,8 @@ fr: classes_with_a_single_child: Classes avec un seul enfant classes_with_more_than_25_children: Classes avec plus de 25 enfants classes_with_no_definition: Classes sans définition - - identifiers: Identifiants principaux de l'ontologie. + identifiers: Identifiants + identifiers_tooltip: Identifiants principaux de l'ontologie. dates: Dates person_and_organization: Personnes et organisations other_links: Autres liens @@ -1223,7 +1239,6 @@ fr: label_groups: Groupes download_as_csv: Télécharger en CSV scroll_down_to_see_more: Faites défiler vers le bas pour en voir plus - widgets: Les widgets ne sont disponibles que pour les ontologies stockées dans %{site}. add_acronym_widgets: Ajouter des widgets web %{acronym} à votre site widget_block_component_title_1: Aller à @@ -1273,32 +1288,32 @@ fr: ncbo_widget_wiki: Wiki des Widgets NCBO file: fichier. no_class_concept_found: Aucune classe/concept trouvé - metadata: - fair_score_title: Score FAIR - total_score: "Score total : %{score} ( %{normalized_score}%)" + metadata: + fair_score_title: Score FAIR + total_score: "Score total : %{score} ( %{normalized_score}%)" - metrics: Métriques - metrics_link_title: Informations et diagrammes d'évolution sur les métriques et autres mesures de l'ontologie. - see_all_metrics: Voir toutes les métriques de %{acronym} - show_modal_title_1: Toutes les métriques de %{acronym} - not_calculated_metrics: Nous n'avons pas encore calculé de métriques pour %{acronym} - show_modal_title_2: "Évolution du nombre de %{metric} dans %{acronym} par soumissions." + metrics: Métriques + metrics_link_title: Informations et diagrammes d'évolution sur les métriques et autres mesures de l'ontologie. + see_all_metrics: Voir toutes les métriques de %{acronym} + show_modal_title_1: Toutes les métriques de %{acronym} + not_calculated_metrics: Nous n'avons pas encore calculé de métriques pour %{acronym} + show_modal_title_2: "Évolution du nombre de %{metric} dans %{acronym} par soumissions." - submissions: Soumissions - submissions_link_title: Ensemble de tous les fichiers qui ont été soumis à %{site}. Chaque enregistrement de métadonnées précédent est accessible mais seul le contenu du dernier fichier analysé est accessible via les services de %{site} + submissions: Soumissions + submissions_link_title: Ensemble de tous les fichiers qui ont été soumis à %{site}. Chaque enregistrement de métadonnées précédent est accessible mais seul le contenu du dernier fichier analysé est accessible via les services de %{site} - relations_network: Réseau de relations des ontologies + relations_network: Réseau de relations des ontologies - general_information: Informations générales - initial_created_on: Créé initialement le - additional_information: Pour des informations supplémentaires, contactez - categories_and_subjects: Catégories et sujets - keywords_and_classes: Mots-clés et classes - languages: Langues - pull_location: Emplacement de tirage - export_metadata: Exporter toutes les métadonnées - abstract: Résumé - description: Description + general_information: Informations générales + initial_created_on: Créé initialement le + additional_information: Pour des informations supplémentaires, contactez + categories_and_subjects: Catégories et sujets + keywords_and_classes: Mots-clés et classes + languages: Langues + pull_location: Emplacement de tirage + export_metadata: Exporter toutes les métadonnées + abstract: Résumé + description: Description components: @@ -1356,7 +1371,7 @@ fr: ontologies_advanced_selection: Sélection avancée des ontologies search_hint: Filtrer les ontologies... show_ontology_view: Afficher les vues d'ontologie - hide_retired_ontologies: Masquer les ontologies retirées + hide_retired_ontologies: Masquer les ontologies abandonner tabs_title: categories: Catégories groups: Groupes