From 55c21b1b70024b926e22db0c862f77f03e6575b1 Mon Sep 17 00:00:00 2001 From: damian-garrido Date: Thu, 25 Dec 2025 11:45:16 -0300 Subject: [PATCH 001/253] settings for gemini --- .gemini/settings.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .gemini/settings.json diff --git a/.gemini/settings.json b/.gemini/settings.json new file mode 100644 index 00000000..a14a3225 --- /dev/null +++ b/.gemini/settings.json @@ -0,0 +1,14 @@ +{ + "general": { + "previewFeatures": true + }, + "context": { + "fileName": ["CLAUDE.md"] + }, + "mcpServers": { + "chrome-devtools": { + "command": "npx", + "args": ["chrome-devtools-mcp@latest"] + } + } +} \ No newline at end of file From fed5d9afd220307bc4ba47624fac78d2ace55168 Mon Sep 17 00:00:00 2001 From: damian-garrido Date: Thu, 25 Dec 2025 11:52:42 -0300 Subject: [PATCH 002/253] primeras traducciones --- src/components/About.vue | 89 ++++--- src/components/Browse.vue | 14 +- src/components/Help.vue | 28 ++- src/components/LanguageSelector.vue | 2 +- src/components/Login.vue | 14 +- src/components/MainPage.vue | 20 +- src/components/Menu.vue | 8 +- src/components/WhatsNew.vue | 6 +- src/components/contentGuidance.vue | 40 +-- src/components/list/editListActionButtons.vue | 16 +- .../list/editListCharsOfStudies.vue | 2 +- .../list/editListEvidenceProfile.vue | 18 +- src/components/list/editListExtractedData.vue | 8 +- src/components/list/editListHeader.vue | 2 +- .../list/editListMethAssessments.vue | 2 +- src/components/list/evidenceProfileForm.vue | 18 +- .../organization/organizationForm.vue | 4 +- .../organization/viewOrganization.vue | 4 +- .../previewContent/previewContentSoQf.vue | 4 +- .../previewContentWorksheet.vue | 10 +- src/components/project/PrintViewTable.vue | 20 +- src/components/tableActions/ActionTable.vue | 2 +- src/lang/en.json | 221 +++++++++++++---- src/lang/es.json | 228 +++++++++++++----- src/lang/pt.json | 174 +++++++++++++ src/plugins/i18n.js | 4 +- 26 files changed, 698 insertions(+), 260 deletions(-) create mode 100644 src/lang/pt.json diff --git a/src/components/About.vue b/src/components/About.vue index 002c35a3..13a17b63 100644 --- a/src/components/About.vue +++ b/src/components/About.vue @@ -2,65 +2,74 @@
-

{{ $t("About") }}

+

{{ $t("menu.about") }}

-

What is iSoQ?

-

The GRADE-CERQual Interactive Summary of Qualitative Findings (iSoQ) is an online tool designed to:

+

{{ $t('about.what_is_isoq') }}

+

{{ $t('about.what_is_isoq_p1') }}

    -
  • Assist review authors with applying the GRADE-CERQual approach to the findings of a qualitative evidence synthesis (systematic review of qualitative studies) and presenting these in a summary of qualitative findings table.
  • -
  • Assist review authors with managing and archiving data for GRADE-CERQual assessments.
  • -
  • Make GRADE-CERQual assessments more accessible to end users, including decision makers and those who support them.
  • +
  • {{ $t('about.what_is_isoq_li1') }}
  • +
  • {{ $t('about.what_is_isoq_li2') }}
  • +
  • {{ $t('about.what_is_isoq_li3') }}
-

In March 2022 we launched the software with a webinar presentation and live demo of the software.

+ + {{ $t('about.presentation') }} + {{ $t('about.live_demo') }} + -

What is GRADE-CERQual?

-

GRADE-CERQual is an approach for transparently assessing and describing how much confidence decision makers and other users can place in individual review findings from syntheses (or systematic reviews) of qualitative evidence. An overall GRADE-CERQual assessment of confidence is based on an assessment of four components: methodological limitations, coherence, adequacy and relevance.

+

{{ $t('about.what_is_gc') }}

+ + GRADE-CERQual + -

When in the review process can I use the iSoQ tool?

-

You can begin using this tool once you have finished the study screening process and have a list of included studies that meet the inclusion criteria for your synthesis (systematic review). In the early stages of a systematic review, the iSoQ tool can be used to help organise some of the data that are needed to apply GRADE-CERQual, for example, tables of the characteristics of included studies and of the methodological limitations of the included studies (critical appraisal tables).

-

The primary function of the tool is to assist review authors with managing the process of applying the GRADE-CERQual approach to their review findings. GRADE-CERQual is applied near the end of a review process, at the point when reviewers have completed analysis and synthesis and have draft summaries of each review finding.

-

For more information on where GRADE-CERQual fits into the review process please see the EPOC QES protocol and review template.

+

{{ $t('about.when_use') }}

+

{{ $t('about.when_use_p1') }}

+

{{ $t('about.when_use_p2') }}

+ + {{ $t('about.epoc_template') }} + -

Does the iSoQ tool replace other kinds of software used in reviews?

-

No, this tool is specific to applying the GRADE-CERQual approach. It is not a replacement for other commonly used software in systematic reviews like reference management software (e.g. Endnote), software for screening and selecting studies (e.g. Covidence and Distiller SR), or software and programs for extracting and analysing data (e.g. DistillerSR, NVivo, Microsoft Excel).

+

{{ $t('about.replace_software') }}

+

{{ $t('about.replace_desc') }}

-

Can you invite collaborators to an iSoQ project?

-

Yes. You can invite collaborators (for example other review authors) to a shared project and assign them either "view only" or "view and edit" rights. These collaborators need to set-up an iSoQ account in order to access the shared project. You can also generate a temporary link to send to collaborators who only need to view the project for a limited amount of time (for example a guideline panel or a peer reviewer).

+

{{ $t('about.invite_collaborators') }}

+

{{ $t('about.invite_desc') }}

-

Can I export from the iSoQ tool into other programs?

-

Currently you cannot directly export the content within the iSoQ tool into other platforms, but you can export and download a Microsoft Word or PDF copy of the Summary of Qualitative Findings Table and Evidence Profile Tables. These can be copy and pasted or imported into other programs such as RevMan, GRADEpro GDT, or MAGICapp. Characteristics of Studies, Methodological Assessments and Extracted Data tables created in the iSoQ tool can be downloaded into a Microsoft Excel compatible format.

+

{{ $t('about.export') }}

+

{{ $t('about.export_desc') }}

-

Can iSoQ tables be made public for anyone to see?

-

iSoQ includes a "publish" function, meaning you can publish some or all of your completed Interactive Summary of Qualitative Findings Table to the iSoQ database. It is up to you to decide if and when to publish to the iSoQ database and to ensure you are not infringing any copyright issues (for example you may have to abide by an embargo period or wait for a manuscript to be published). The database will become a repository for iSoQ tables.

+

{{ $t('about.public') }}

+

{{ $t('about.public_desc') }}

-

Is iSoQ compatible with Mac?

+

{{ $t('about.mac') }}

- iSoQ can be used on a Mac but has not been extensively tested with Mac. We are aware of one common issue for Mac users and that is with the “import table” function in the My Data section. When our Excel template is downloaded and opened in Excel for Mac, columns A and B are merged instead of separate. This causes import failure and serious malfunctioning in the software. We therefore recommend Mac users work on the template in either Google docs, Open Office or LibreOffice. Be sure to save the file as a “comma-separated values” (CSV). We welcome feedback from Mac users so we can continue to improve your experience with iSoQ. + {{ $t('about.mac_desc') }}

-

How is the iSoQ tool funded?

-

The development of the iSoQ tool is supported by funding from the Norwegian Institute of Public Health's Centre for Epidemic Interventions Research (CEIR). Additional funding for members of the development team is provided by the Western Norway University of Applied Sciences (HVL), the Norwegian University of Science and Technology (NTNU) and the Epistemonikos Foundation.

+

{{ $t('about.funding') }}

+

{{ $t('about.funding_desc') }}

-

How is the iSoQ tool and its contents licenced?

+

{{ $t('about.licence') }}

-

How do I cite iSoQ?

-

Cite as: GRADE-CERQual Interactive Summary of Qualitative Findings (iSoQ) [Computer program]. Version 1.0 accessed [insert date]. Oslo, Norway: Norwegian Institute of Public Health (developed by the Epistemonikos Foundation, Megan Wainwright Consulting and the Norwegian Institute of Public Health for the GRADE-CERQual Project Group). Available at isoq.epistemonikos.org

+

{{ $t('about.cite') }}

+

{{ $t('about.cite_desc') }}

diff --git a/src/components/Browse.vue b/src/components/Browse.vue index 3037192c..61e4c44a 100644 --- a/src/components/Browse.vue +++ b/src/components/Browse.vue @@ -2,11 +2,13 @@
-

Browse public iSoQ tables

+

{{ $t('browse.title') }}

-

Review authors using the iSoQ tool can choose to publish some or all of their interactive Summary of Qualitative Findings table to the database below. The GRADE-CERQual project group does not currate this database, therefore we cannot attest to whether or not the GRADE-CERQual approach was applied appropriately and in line with our guidance.

+ + {{ $t('browse.guidance') }} +
- Loading... + {{ $t('browse.loading') }}
@@ -85,7 +87,7 @@ export default { }, { key: 'last_update', - label: 'Last Modification', + label: this.$t('browse.last_modification'), formatter: value => { const _date = new Date(value) const options = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' } diff --git a/src/components/Help.vue b/src/components/Help.vue index 6c3bc4f2..05272f4b 100644 --- a/src/components/Help.vue +++ b/src/components/Help.vue @@ -2,21 +2,27 @@
-

Help

+

{{ $t('help.title') }}

-

You need help?

-

Have you encountered a technological problem or glitch that’s stopping you from moving forward? For these urgent issues, please report your issues using this form. -
If you cannot access the form email us at isoq [at] epistemonikos.org

+

{{ $t('help.need_help') }}

+ + {{ $t('help.this_form') }} + +

{{ $t('help.email_us') }}

-

You’ve got feedback to share?

-

To feedback to us your experience of using iSoQ (positive or negative!) or ideas of useful additional features or how to make it more user-friendly, please use the following form

+

{{ $t('help.feedback') }}

+ + {{ $t('help.the_following_form') }} + -

iSoQ drop-in support webinars

-

Visit the Upcoming Events page on the GRADE-CERQual website to sign-up.

+

{{ $t('help.support_webinars') }}

+ + {{ $t('help.upcoming_events') }} + -

Help Resources: Videos

+

{{ $t('help.videos') }}

  1. iSoQ Welcome Video - The Essentials [8:58 min]
  2. Sharing an iSoQ project [1:45 min]
  3. @@ -43,14 +49,14 @@
  4. Leaving notes about GRADE-CERQual assessments [1:33 min]
-

iSoQ Training Webinars

+

{{ $t('help.training_webinars') }}

-

GRADE-CERQual Webinars

+

{{ $t('help.gc_webinars') }}

  • Access the Cochrane Training Webinar on GRADE-CERQual
  • Information on upcoming live GRADE-CERQual webinars
  • diff --git a/src/components/LanguageSelector.vue b/src/components/LanguageSelector.vue index 6cf7b419..978defc8 100644 --- a/src/components/LanguageSelector.vue +++ b/src/components/LanguageSelector.vue @@ -1,5 +1,5 @@ diff --git a/src/components/list/editListHeader.vue b/src/components/list/editListHeader.vue index 73d4e296..bf5a3e78 100644 --- a/src/components/list/editListHeader.vue +++ b/src/components/list/editListHeader.vue @@ -6,7 +6,7 @@ - + return to ISoQ table diff --git a/src/components/list/editListMethAssessments.vue b/src/components/list/editListMethAssessments.vue index a686846e..104a216b 100644 --- a/src/components/list/editListMethAssessments.vue +++ b/src/components/list/editListMethAssessments.vue @@ -4,7 +4,7 @@ v-if="show.selected.includes('ma')">

    - {{ $t('Methodological Assessments') }} * + {{ $t('worksheet.methodological_assessments') }} * @@ -572,11 +572,11 @@ -

    Characteristics of Studies

    +

    {{ $t('worksheet.characteristics_of_studies') }}

    The Characteristics of Studies table, or some data within it, @@ -664,11 +664,11 @@ -

    Characteristics of Studies

    +

    {{ $t('worksheet.characteristics_of_studies') }}

    The Characteristics of Studies table, or some data within it, are missing. Add missing table/data in @@ -699,7 +699,7 @@

    -
    Methodological limitations
    +
    {{ $t('worksheet.methodological_limitations') }}

    {{ displaySelectedOption(evidenceProfile[0].methodological_limitations.option) }}

    -
    Coherence
    +
    {{ $t('worksheet.coherence') }}

    {{ displaySelectedOption(evidenceProfile[0].coherence.option) }}

    -
    Adequacy
    +
    {{ $t('worksheet.adequacy') }}

    {{ displaySelectedOption(evidenceProfile[0].adequacy.option) }}

    -
    Relevance
    +
    {{ $t('worksheet.relevance') }}

    {{ displaySelectedOption(evidenceProfile[0].relevance.option) }} @@ -122,7 +122,7 @@ @@ -132,7 +132,7 @@ @@ -142,7 +142,7 @@ @@ -152,7 +152,7 @@ diff --git a/src/components/tableActions/ActionTable.vue b/src/components/tableActions/ActionTable.vue index b1ca350d..2722b1b2 100644 --- a/src/components/tableActions/ActionTable.vue +++ b/src/components/tableActions/ActionTable.vue @@ -53,7 +53,7 @@ @click="modalCreateContent" variant="outline-success"> - {{$t('Add data')}} + {{$t('table.add_data')}} Date: Thu, 25 Dec 2025 14:08:45 -0300 Subject: [PATCH 003/253] more implementations related to i18n --- src/components/CreateAccount.vue | 111 +++--- src/components/ForgotPassword.vue | 16 +- src/components/Menu.vue | 18 +- src/components/NewPassword.vue | 16 +- src/components/Organizations.vue | 4 +- src/components/WhatsNew.vue | 100 ++--- src/components/backToTop.vue | 2 +- .../charsOfStudies/displayTableData.vue | 8 +- src/components/editReviewFinding.vue | 10 +- .../methAssessments/displayTableData.vue | 8 +- .../organization/viewOrganization.vue | 98 ++--- src/components/profile/viewProfile.vue | 45 ++- .../project/CharacteristicsOfStudiesTable.vue | 4 +- .../project/InclusionExclusionCriteria.vue | 10 +- src/components/project/UploadReferences.vue | 8 +- src/components/project/viewProject.vue | 108 +++--- src/components/tableActions/ActionTable.vue | 36 +- src/components/tableActions/Filters.vue | 8 +- src/components/videoHelp.vue | 18 +- src/constants/trans.js | 2 +- src/lang/en.json | 347 +++++++++++++++++- src/lang/es.json | 347 +++++++++++++++++- src/lang/pt.json | 347 +++++++++++++++++- src/plugins/Translation.js | 31 +- 24 files changed, 1384 insertions(+), 318 deletions(-) diff --git a/src/components/CreateAccount.vue b/src/components/CreateAccount.vue index b50f24a8..fc3f4b7b 100644 --- a/src/components/CreateAccount.vue +++ b/src/components/CreateAccount.vue @@ -6,81 +6,81 @@ + :header="$t('account.create_account')"> There is already an account for this email address or the email is wrong formatted + v-if="!ui.username_validation && ui.username_validation !== null">{{ $t('account.email_exists_error') }} Your email address is your username for logging-in to iSoQ. + id="input-live-help">{{ $t('account.email_username_hint') }} - login | forgot your password? + {{ $t('common.login') }} | {{ $t('auth.forgot_password') }}

    Create account + @click="createAccount">{{ $t('account.create_account_btn') }}
    @@ -96,12 +96,12 @@ + :header="$t('account.account_created')">

    - As an individual, you will be able to create iSoQ tables, but they will remain in your personal space (i.e. they will be only visible when logged in your account). + {{ $t('account.individual_info') }}

    - In order to share iSoQ tables with others you need to join an existing organisation or create a new one. + {{ $t('account.share_info') }}

    @@ -109,14 +109,14 @@ variant="outline-success" block size="lg" - @click="showJoinOrgCard">Join + @click="showJoinOrgCard">{{ $t('common.join') }} Create + @click="showCreateOrgCard">{{ $t('common.create') }}
    @@ -124,9 +124,9 @@ + :header="$t('account.join_organization')"> Cancel + @click="cancelCardShowOptions">{{ $t('common.cancel') }} Join + @click="jointToOrg">{{ $t('common.join') }}
    + :header="$t('account.create_organization')"> @@ -173,9 +173,9 @@ confirm this is a non-profit organisation + unchecked-value="true">{{ $t('account.nonprofit_confirm') }} - +
      -
    • users: {{plan.specs.users}}
    • -
    • tables: {{plan.specs.tables}}
    • -
    • price: {{plan.specs.price}}
    • +
    • {{ $t('account.users_label') }}: {{plan.specs.users}}
    • +
    • {{ $t('account.tables_label') }}: {{plan.specs.tables}}
    • +
    • {{ $t('account.price_label') }}: {{plan.specs.price}}
    @@ -201,32 +201,32 @@ class="text-right"> Cancel + @click="cancelCardShowOptions">{{ $t('common.cancel') }} Create an Join + @click="organizationRequest">{{ $t('account.create_and_join') }}

-

Now, you can create and share iSoQ tables with your organisation.

+ :header="$t('account.you_are_done')"> +

{{ $t('account.can_create_share') }}

Go to organisations + :to="{name: 'Organizations'}">{{ $t('account.go_to_organizations') }}
-

You can star using iSoQ right now and move your work to the organisation when created.

+ :header="$t('account.thanks_registering')"> +

{{ $t('account.start_using_now') }}

Go to organisations + :to="{name: 'Organizations'}">{{ $t('account.go_to_organizations') }}
@@ -275,10 +275,10 @@ export default { nonprofit: true, selected_plan: false }, - plans: [ - {text: 'Small', value: 'small', specs: {users: 10, tables: 20, price: 'free'}}, - {text: 'Medium', value: 'medium', specs: {users: 50, tables: 200, price: '1000 USD a year'}}, - {text: 'Large', value: 'large', specs: {users: 'Contact us', tables: 'Contact us', price: 'Contact us'}} + plansData: [ + {value: 'small', specs: {users: 10, tables: 20, priceKey: 'plan_free'}}, + {value: 'medium', specs: {users: 50, tables: 200, priceKey: 'plan_1000'}}, + {value: 'large', specs: {usersKey: 'plan_contact', tablesKey: 'plan_contact', priceKey: 'plan_contact'}} ], showSubscribe: false } @@ -286,6 +286,23 @@ export default { components: { subscribe }, + computed: { + plans () { + return this.plansData.map(plan => { + const textKey = `account.plan_${plan.value}` + const specs = { + users: plan.specs.usersKey ? this.$t(`account.${plan.specs.usersKey}`) : plan.specs.users, + tables: plan.specs.tablesKey ? this.$t(`account.${plan.specs.tablesKey}`) : plan.specs.tables, + price: this.$t(`account.${plan.specs.priceKey}`) + } + return { + text: this.$t(textKey), + value: plan.value, + specs: specs + } + }) + } + }, watch: { 'user.username': function () { this.checkEmail() diff --git a/src/components/ForgotPassword.vue b/src/components/ForgotPassword.vue index 0f20bf85..3f69f5ba 100644 --- a/src/components/ForgotPassword.vue +++ b/src/components/ForgotPassword.vue @@ -6,10 +6,10 @@ + :header="$t('account.reset_password')"> - This email is not registered + {{ $t('account.email_not_registered') }} - login + {{ $t('common.login') }}
Recover + @click="recoverPass">{{ $t('common.recover') }}
-

An email was sent to you with instructions for resetting your password.

+ :header="$t('common.sent')"> +

{{ $t('account.email_sent') }}

diff --git a/src/components/Menu.vue b/src/components/Menu.vue index f6883602..90ba8ee7 100644 --- a/src/components/Menu.vue +++ b/src/components/Menu.vue @@ -3,8 +3,8 @@

- interactive Summary of Qualitative Findings - iSoF + {{ $t('menu.isoq_title') }} + {{ $t('menu.isoq_short') }}

@@ -14,20 +14,20 @@ {{ $t("menu.about") }} {{ $t("menu.browse") }} - Help + {{ $t('menu.help') }} diff --git a/src/components/backToTop.vue b/src/components/backToTop.vue index c004f612..b02e4b5f 100644 --- a/src/components/backToTop.vue +++ b/src/components/backToTop.vue @@ -1,6 +1,6 @@ diff --git a/src/components/charsOfStudies/displayTableData.vue b/src/components/charsOfStudies/displayTableData.vue index 06598691..e382c0a0 100644 --- a/src/components/charsOfStudies/displayTableData.vue +++ b/src/components/charsOfStudies/displayTableData.vue @@ -1,8 +1,8 @@ @@ -39,7 +39,7 @@ export default { items: [], authors: '', fieldsObj: [ - { key: 'authors', label: 'Author(s), Year' } + { key: 'authors', label: this.$t('references.author_year') } ] }, local_settings: { diff --git a/src/components/editReviewFinding.vue b/src/components/editReviewFinding.vue index ec8e3318..1388b2f1 100644 --- a/src/components/editReviewFinding.vue +++ b/src/components/editReviewFinding.vue @@ -1,16 +1,16 @@ diff --git a/src/components/methAssessments/displayTableData.vue b/src/components/methAssessments/displayTableData.vue index 6e41fce2..2ccf307d 100644 --- a/src/components/methAssessments/displayTableData.vue +++ b/src/components/methAssessments/displayTableData.vue @@ -1,8 +1,8 @@ @@ -59,7 +59,7 @@ export default { items: [], authors: '', fieldsObj: [ - { key: 'authors', label: 'Author(s), Year' } + { key: 'authors', label: this.$t('references.author_year') } ] }, local_settings: { diff --git a/src/components/organization/viewOrganization.vue b/src/components/organization/viewOrganization.vue index 6dfc8517..72c552be 100644 --- a/src/components/organization/viewOrganization.vue +++ b/src/components/organization/viewOrganization.vue @@ -2,7 +2,7 @@
-

My Workspace

+

{{ $t('menu.my_workspace') }}

@@ -12,7 +12,7 @@ {{ $t("project.add_new") }} @@ -51,19 +51,19 @@ @@ -126,11 +126,11 @@ id="new-project" ref="new-project" size="xl" - :title="(buffer_project.id) ? 'Edit iSoQ table' : 'New iSoQ table'" + :title="(buffer_project.id) ? $t('common.edit_isoq_table') || 'Edit iSoQ table' : $t('common.new_isoq_table') || 'New iSoQ table'" @ok="save" @cancel="closeModalProject" :ok-disabled="!buffer_project.name" - ok-title="Save" + :ok-title="$t('common.save')" ok-variant="outline-success" cancel-variant="outline-secondary"> -

Are you sure you wanna remove "{{this.buffer_project.name}}" and all the data related?

+

{{ $t('common.confirm_remove_project') || 'Are you sure you wanna remove' }} "{{this.buffer_project.name}}" {{ $t('common.and_all_data') || 'and all the data related' }}?

+ :title="$t('common.invite') || 'Invite'"> add + @click="addEmailForShare">{{ $t('common.add') }}
-

This project will be shared with:

+

{{ $t('common.project_will_be_shared') || 'This project will be shared with:' }}

+ :label="$t('common.can') || 'Can:'"> @@ -229,13 +229,13 @@ Invite + @click="saveSharedProject(buffer_project.id)">{{ $t('common.invite') || 'Invite' }}
+ :title="$t('common.users_with_access') || 'Users with access'"> -

Users with Access

+

{{ $t('common.users_with_access') || 'Users with Access' }}

unshare + @click="unshare(data.index, data.item.id)">{{ $t('common.unshare') || 'unshare' }}
-

Pending access

+

{{ $t('common.pending_access') || 'Pending access' }}

- Email - Actions + {{ $t('common.email') }} + {{ $t('common.actions') || 'Actions' }} @@ -274,7 +274,7 @@ - unshare + {{ $t('common.unshare') || 'unshare' }} @@ -284,7 +284,7 @@ + :title="$t('common.temporary_sharing') || 'Temporary sharing'">

Enable this option to share the project with a user who does not have an iSoQ account. Anyone you send the link to will be able to see the project but not edit it.

-

Copy and Share this URL

+

{{ $t('common.copy_share_url') || 'Copy and Share this URL' }}

@@ -305,9 +305,9 @@
-

Leave the project {{buffer_project.name}}

+ :ok-title="$t('common.leave')"> +

{{ $t('common.leave_project_confirm') || 'Leave the project' }} {{buffer_project.name}}

diff --git a/src/components/profile/viewProfile.vue b/src/components/profile/viewProfile.vue index 9b668bd4..aadb1bca 100644 --- a/src/components/profile/viewProfile.vue +++ b/src/components/profile/viewProfile.vue @@ -2,7 +2,7 @@
-

{{ $t("Profile") }}

+

{{ $t("profile.title") }}

@@ -11,7 +11,7 @@ -

username

+

{{ $t('profile.username') }}

{{username}} @@ -19,7 +19,7 @@
-

name

+

{{ $t('profile.name') }}

{{fullname}} @@ -27,11 +27,23 @@
-

new password

+

{{ $t('profile.language') }}

+
+ + + + +
+ + +

{{ $t('profile.new_password') }}

@@ -39,11 +51,11 @@
-

repeat password

+

{{ $t('profile.repeat_password') }}

@@ -51,7 +63,7 @@
- Save + {{ $t('common.save') }}
@@ -60,6 +72,7 @@ + + diff --git a/src/components/commons/subscribe.vue b/src/components/commons/subscribe.vue index 358545d7..b357e69d 100644 --- a/src/components/commons/subscribe.vue +++ b/src/components/commons/subscribe.vue @@ -2,15 +2,15 @@

- Would you like to subscribe to the GRADE-CERQual mailing list? + {{ $t('subscribe.question') }}
- You will receive three newsletters a year that include the latest news about iSoQ. + {{ $t('subscribe.description') }}

diff --git a/src/components/editReviewFinding.vue b/src/components/editReviewFinding.vue index 1388b2f1..2d1d5796 100644 --- a/src/components/editReviewFinding.vue +++ b/src/components/editReviewFinding.vue @@ -34,7 +34,7 @@ diff --git a/src/components/list/editListEvidenceProfile.vue b/src/components/list/editListEvidenceProfile.vue index 09f32453..cc9a2c2b 100644 --- a/src/components/list/editListEvidenceProfile.vue +++ b/src/components/list/editListEvidenceProfile.vue @@ -530,7 +530,7 @@ + \ No newline at end of file diff --git a/src/components/organization/organizationForm.vue b/src/components/organization/organizationForm.vue index f886d7c2..d773fef3 100644 --- a/src/components/organization/organizationForm.vue +++ b/src/components/organization/organizationForm.vue @@ -162,6 +162,35 @@ v-model="formData.lists_authors">
{{ $t('project.validation.list_authors_required') }}
+ + + + @@ -252,7 +281,12 @@ export default { name: 'organizationForm', components: {videoHelp}, props: { - formData: Object, + formData: { + type: Object, + default: () => ({ + use_camelot: true + }) + }, canEdit: Boolean, isModal: { type: Boolean, diff --git a/src/components/organization/viewOrganization.vue b/src/components/organization/viewOrganization.vue index bffdde73..4520cc27 100644 --- a/src/components/organization/viewOrganization.vue +++ b/src/components/organization/viewOrganization.vue @@ -432,7 +432,8 @@ export default { }, temporaryUrl: '', invite_emails: [], - tmp_invite_emails: [] + tmp_invite_emails: [], + use_camelot: true }, tmp_buffer_project_list: { id: null, @@ -468,7 +469,8 @@ export default { }, temporaryUrl: '', invite_emails: [], - tmp_invite_emails: [] + tmp_invite_emails: [], + use_camelot: true }, buffer_project_list: { id: null, @@ -700,6 +702,7 @@ export default { }, openModalNewFindingTable: function () { this.buffer_project = JSON.parse(JSON.stringify(this.tmp_buffer_project)) + this.canEditProject = true this.$refs['new-project'].show() }, closeModalProject: function () { diff --git a/src/components/previewContent/previewContentSoQf.vue b/src/components/previewContent/previewContentSoQf.vue index a029d617..812db426 100644 --- a/src/components/previewContent/previewContentSoQf.vue +++ b/src/components/previewContent/previewContentSoQf.vue @@ -564,7 +564,11 @@ export default { const fields = JSON.parse(JSON.stringify(this.charsOfStudies.fields)) const items = JSON.parse(JSON.stringify(this.charsOfStudies.items)) - const _items = items.sort((a, b) => a.authors.localeCompare(b.authors)) + const _items = items.sort((a, b) => { + const authorsA = (a.authors || '').toString() + const authorsB = (b.authors || '').toString() + return authorsA.localeCompare(authorsB) + }) this.charsOfStudies.items = _items this.charsOfStudiesFieldsModal.fields = [] @@ -599,7 +603,11 @@ export default { const fields = JSON.parse(JSON.stringify(this.methodologicalTableRefs.fields)) const items = JSON.parse(JSON.stringify(this.methodologicalTableRefs.items)) - const _items = items.sort((a, b) => a.authors.localeCompare(b.authors)) + const _items = items.sort((a, b) => { + const authorsA = (a.authors || '').toString() + const authorsB = (b.authors || '').toString() + return authorsA.localeCompare(authorsB) + }) this.methodologicalTableRefs.items = _items this.methodologicalTableRefs.fieldsObj = [{ 'key': 'authors', 'label': 'Author(s), Year' }] diff --git a/src/components/project/CharacteristicsOfStudiesTable.vue b/src/components/project/CharacteristicsOfStudiesTable.vue index 789d7a18..25e2fb1a 100644 --- a/src/components/project/CharacteristicsOfStudiesTable.vue +++ b/src/components/project/CharacteristicsOfStudiesTable.vue @@ -508,7 +508,11 @@ export default { const fields = JSON.parse(JSON.stringify(this.charsOfStudies.fields)) const items = JSON.parse(JSON.stringify(this.charsOfStudies.items)) - const _items = items.sort((a, b) => a.authors.localeCompare(b.authors)) + const _items = items.sort((a, b) => { + const authorsA = (a.authors || '').toString() + const authorsB = (b.authors || '').toString() + return authorsA.localeCompare(authorsB) + }) this.charsOfStudies.items = _items this.charsOfStudiesFieldsModal.fields = [] diff --git a/src/components/project/crudTables.vue b/src/components/project/crudTables.vue index eb5402f6..2c3c242d 100644 --- a/src/components/project/crudTables.vue +++ b/src/components/project/crudTables.vue @@ -660,7 +660,11 @@ export default { const fields = JSON.parse(JSON.stringify(this.dataTable.fields)) const items = JSON.parse(JSON.stringify(this.dataTable.items)) - const _items = items.sort((a, b) => a.authors.localeCompare(b.authors)) + const _items = items.sort((a, b) => { + const authorsA = (a.authors || '').toString() + const authorsB = (b.authors || '').toString() + return authorsA.localeCompare(authorsB) + }) this.dataTable.items = _items this.dataTableFieldsModal.fields = [] diff --git a/src/components/project/viewProject.vue b/src/components/project/viewProject.vue index dd2f99b8..a294ffcd 100644 --- a/src/components/project/viewProject.vue +++ b/src/components/project/viewProject.vue @@ -886,7 +886,7 @@ export default { this.processGetListCategories(response.data) }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, getReferences: async function (changeTab = true) { @@ -919,7 +919,7 @@ export default { this.loadReferences = false }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, getProject: async function () { @@ -962,7 +962,7 @@ export default { this.getLists() }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, getCharacteristicsData: async function () { @@ -1116,7 +1116,7 @@ export default { this.table_settings.isBusy = false }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, routeAnchorHash: function () { @@ -1365,7 +1365,7 @@ export default { } }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, modalAddList: function () { @@ -1404,7 +1404,7 @@ export default { this.updateModificationTime() }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, createFinding: function (listId, listName) { @@ -1450,7 +1450,7 @@ export default { await this.createExtractedData(response.data.id) }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, generateEvidenceProfileTableWithCategories: function (findings) { @@ -1616,7 +1616,7 @@ export default { this.list_categories.skip = false }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, modalListCategories: async function () { @@ -1640,7 +1640,7 @@ export default { this.modal_edit_list_categories.extra_info = '' }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, editListCategoryName: function (index) { @@ -1671,7 +1671,7 @@ export default { this.modal_edit_list_categories.id = null }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) } }, @@ -1703,7 +1703,7 @@ export default { this.modal_edit_list_categories.id = null }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) } }, @@ -1764,7 +1764,7 @@ export default { }) .catch((error) => { this.table_settings.isBusy = false - this.printErrors(error) + Commons.printErrors(error) }) }, updateFindingSort: function (listId, sort, getList = false) { @@ -1785,7 +1785,7 @@ export default { }) .catch((error) => { this.table_settings.isBusy = false - this.printErrors(error) + Commons.printErrors(error) }) }) }, @@ -1824,7 +1824,7 @@ export default { this.getLists() }) .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) }, countDownChanged (dismissCountDown) { @@ -1900,7 +1900,7 @@ export default { Api.patch(`/isoqf_projects/${this.$route.params.id}`, params) .then() .catch((error) => { - this.printErrors(error) + Commons.printErrors(error) }) } }, diff --git a/src/mixins/dataTableMixin.js b/src/mixins/dataTableMixin.js index 9acf593e..791aa70b 100644 --- a/src/mixins/dataTableMixin.js +++ b/src/mixins/dataTableMixin.js @@ -1,4 +1,4 @@ -import axios from 'axios' +import Api from '@/utils/Api' export const dataTableMixin = { data () { @@ -28,7 +28,7 @@ export const dataTableMixin = { organization: this.$route.params.org_id, project_id: this.$route.params.id } - const response = await axios.get(`/api/${this.type}`, { params }) + const response = await Api.get(`/${this.type}`, params) if (response.data && response.data.length) { const tableData = JSON.parse(JSON.stringify(response.data[0])) @@ -93,4 +93,4 @@ export const dataTableMixin = { } } } -} +} \ No newline at end of file diff --git a/src/mixins/tableImportExportMixin.js b/src/mixins/tableImportExportMixin.js index 72fe8a41..2c6964c5 100644 --- a/src/mixins/tableImportExportMixin.js +++ b/src/mixins/tableImportExportMixin.js @@ -1,5 +1,5 @@ import Papa from 'papaparse' -import axios from 'axios' +import Api from '@/utils/Api' const ExportCSV = require('export-to-csv').ExportToCsv export const tableImportExportMixin = { @@ -124,7 +124,7 @@ export const tableImportExportMixin = { }, async cleanImportedData (id, params) { - await axios.delete(`/api/${this.type}/${id}`) + await Api.delete(`/${this.type}/${id}`) this.pre_ImportDataTable = '' await this.insertImportedData(params) }, @@ -133,9 +133,9 @@ export const tableImportExportMixin = { if (!params.organization || !params.project_id || !params.fields || !params.items) { return } - await axios.post(`/api/${this.type}/`, params) + await Api.post(`/${this.type}/`, params) this.$emit('get-project') this.$refs[`import-table-${this.type}`].hide() } } -} +} \ No newline at end of file From a1b5fdba7425c8f2b0f2ce25f9dde6615a82e9e6 Mon Sep 17 00:00:00 2001 From: damian-garrido Date: Wed, 14 Jan 2026 12:13:13 -0300 Subject: [PATCH 039/253] =?UTF-8?q?se=20agregan=20traducciones=20faltantes?= =?UTF-8?q?,=20tambi=C3=A9n=20se=20corrigen=20algunos=20errores=20de=20vis?= =?UTF-8?q?ualizaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/camelot/Responses.vue | 108 ++++---- src/components/camelot/StepFour.vue | 248 +++++++++--------- src/components/camelot/StepThree.vue | 224 ++++++++-------- .../camelot/assessment/AssessmentForm.vue | 136 +++++----- .../camelot/assessment/AssessmentTable.vue | 36 +-- .../characteristics/CharacteristicsTable.vue | 14 +- src/components/list/editList.vue | 16 ++ src/components/project/crudTables.vue | 14 +- src/lang/en.json | 148 +++++++++++ src/lang/es.json | 148 +++++++++++ src/lang/pt.json | 148 +++++++++++ src/mixins/camelotMixin.js | 126 ++++----- 12 files changed, 919 insertions(+), 447 deletions(-) diff --git a/src/components/camelot/Responses.vue b/src/components/camelot/Responses.vue index e8213b2a..5dec48f8 100644 --- a/src/components/camelot/Responses.vue +++ b/src/components/camelot/Responses.vue @@ -37,97 +37,97 @@ export default { options: [ [ { - text: 'Meta domain Research against Research design domains', + text: this.$t('camelot.assessment_form.descriptions.meta_research_vs_design'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] }, { - text: 'Meta domain Stakeholders against Research design domains', + text: this.$t('camelot.assessment_form.descriptions.meta_stakeholders_vs_design'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] }, { - text: 'Meta domain Researchers against Research design domains', + text: this.$t('camelot.assessment_form.descriptions.meta_researchers_vs_design'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] }, { - text: 'Meta domain Context against Research design domains', + text: this.$t('camelot.assessment_form.descriptions.meta_context_vs_design'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] } ], [ { - text: 'Meta domain Research against Research conduct domains', + text: this.$t('camelot.assessment_form.descriptions.meta_research_vs_conduct'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] }, { - text: 'Meta domain Stakeholders against Research conduct domains', + text: this.$t('camelot.assessment_form.descriptions.meta_stakeholders_vs_conduct'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] }, { - text: 'Meta domain Researchers against Research conduct domains', + text: this.$t('camelot.assessment_form.descriptions.meta_researchers_vs_conduct'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] }, { - text: 'Meta domain Context against Research conduct domains', + text: this.$t('camelot.assessment_form.descriptions.meta_context_vs_conduct'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] } ], [ { - text: 'Research design domains against Research conduct domains', + text: this.$t('camelot.assessment_form.descriptions.design_vs_conduct'), values: [ - { text: 'No or minimal concerns', value: 'A', color: '#1065AB' }, - { text: 'Minor concerns', value: 'B', color: '#8EC4DE' }, - { text: 'Moderate concerns', value: 'C', color: '#F6A482' }, - { text: 'Serious concerns', value: 'D', color: '#B31529' }, - { text: 'Unclear', value: 'E', color: '#B3B3B3' } + { text: this.$t('camelot.responses.no_minimal'), value: 'A', color: '#1065AB' }, + { text: this.$t('camelot.responses.minor'), value: 'B', color: '#8EC4DE' }, + { text: this.$t('camelot.responses.moderate'), value: 'C', color: '#F6A482' }, + { text: this.$t('camelot.responses.serious'), value: 'D', color: '#B31529' }, + { text: this.$t('camelot.responses.unclear'), value: 'E', color: '#B3B3B3' } ] } ] diff --git a/src/components/camelot/StepFour.vue b/src/components/camelot/StepFour.vue index 3b77d0e3..091ea2e7 100644 --- a/src/components/camelot/StepFour.vue +++ b/src/components/camelot/StepFour.vue @@ -10,7 +10,7 @@ - + @@ -86,11 +86,11 @@ -

Fit between Meta domains and Research design

+

{{ $t('camelot.step_four.tabs.fit_meta_design') }}

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Natus itaque aliquid consequatur delectus cupiditate, expedita eos quis quidem perferendis, illum dolorem! Natus corrupti atque iure quo adipisci perferendis voluptatibus reiciendis?

@@ -104,86 +104,86 @@
-

Meta domains

+

{{ $t('camelot.step_four.sections.meta_domains') }}

-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[0]['research_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[0]['research_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[1]['stakeholders_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[1]['stakeholders_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[2]['researchers_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[2]['researchers_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[3]['context_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[3]['context_concerns'] }}
-

Research design domains

+

{{ $t('camelot.step_four.sections.research_design') }}

-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[0]['strategy_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[0]['strategy_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[1]['ethical_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[1]['ethical_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[2]['equity_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[2]['equity_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[3]['theory_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[3]['theory_concerns'] }}
@@ -192,11 +192,11 @@
-

Fit between Meta domains and Research conduct

+

{{ $t('camelot.step_four.tabs.fit_meta_conduct') }}

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Natus itaque aliquid consequatur delectus cupiditate, expedita eos quis quidem perferendis, illum dolorem! Natus corrupti atque iure quo adipisci perferendis voluptatibus reiciendis?

@@ -210,88 +210,88 @@
-

Meta domains

+

{{ $t('camelot.step_four.sections.meta_domains') }}

-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[0]['research_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[0]['research_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[1]['stakeholders_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[1]['stakeholders_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[2]['researchers_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[2]['researchers_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[0].values[3]['context_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[0].values[3]['context_concerns'] }}
-

Research conduct domains

+

{{ $t('camelot.step_four.sections.research_conduct') }}

-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[0]['participant_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[0]['participant_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[1]['data_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[1]['data_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[2]['analysis_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[2]['analysis_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[3]['presentation_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[3]['presentation_concerns'] }}
@@ -300,11 +300,11 @@
-

Fit between Research design and Research conduct

+

{{ $t('camelot.step_four.tabs.fit_design_conduct') }}

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Natus itaque aliquid consequatur delectus cupiditate, expedita eos quis quidem perferendis, illum dolorem! Natus corrupti atque iure quo adipisci perferendis voluptatibus reiciendis?

@@ -318,43 +318,43 @@
-

Research design domains

+

{{ $t('camelot.step_four.sections.research_design') }}

-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[0]['strategy_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[0]['strategy_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[1]['ethical_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[1]['ethical_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[2]['equity_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[2]['equity_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[1].values[3]['theory_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[1].values[3]['theory_concerns'] }}
@@ -362,43 +362,43 @@
-

Research conduct domains

+

{{ $t('camelot.step_four.sections.research_conduct') }}

-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[0]['participant_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[0]['participant_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[1]['data_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[1]['data_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[2]['analysis_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[2]['analysis_concerns'] }}
-
Extracted data
+
{{ $t('camelot.step_four.common.extracted_data') }}
{{ this.meta[2].values[3]['presentation_extractedData'] }} -
Concerns
+
{{ $t('camelot.step_four.common.concerns') }}
{{ this.meta[2].values[3]['presentation_concerns'] }}
@@ -408,11 +408,11 @@ -

Overall assessment

+

{{ $t('camelot.step_four.tabs.overall') }}

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Natus itaque aliquid consequatur delectus cupiditate, expedita eos quis quidem perferendis, illum dolorem! Natus corrupti atque iure quo adipisci perferendis voluptatibus reiciendis?

@@ -426,11 +426,11 @@
-

Fit between Research design and each Meta domain

+

{{ $t('camelot.step_four.sections.fit_between_design_meta') }}