diff --git a/.github/scripts/report_missing_client_translations.sh b/.github/scripts/report_missing_client_translations.sh new file mode 100755 index 000000000..c278133cc --- /dev/null +++ b/.github/scripts/report_missing_client_translations.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Run from .github/workflows/report-missing-client-translations.yml + +set -euxo pipefail + +PYTHON=${HOME}/venv/bin/python +${PYTHON} ${GITHUB_WORKSPACE}/tablet_qt/tools/build_client_translations.py all +${PYTHON} ${GITHUB_WORKSPACE}/tablet_qt/tools/build_client_translations.py missing diff --git a/.github/workflows/report-missing-client-translations.yml b/.github/workflows/report-missing-client-translations.yml new file mode 100644 index 000000000..7cefbadda --- /dev/null +++ b/.github/workflows/report-missing-client-translations.yml @@ -0,0 +1,46 @@ +--- +# yamllint disable rule:line-length +name: Report missing client translations +# yamllint disable-line rule:truthy +on: + push: + paths: + - .github/scripts/python_setup.sh + - .github/scripts/report_missing_client_translations.sh + - .github/workflows/report-missing-client-translations.yml + - 'tablet_qt/**.cpp' + - 'tablet_qt/**.h' + - tablet_qt/tools/build_client_translations.py + - tablet_qt/translations/*.ts + +env: + # Keep in sync with tablet_qt/qt_version.txt. We check this further down. + QT_VERSION: 6.5.3 +jobs: + report-missing-client-translations: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - name: Qt version check + run: | + set -euxo pipefail + test "${{ env.QT_VERSION }}" == "$(cat ${GITHUB_WORKSPACE}/tablet_qt/qt_version.txt)" + - name: Install Qt + uses: jurplel/install-qt-action@v3 + with: + aqtversion: "==3.1.*" + version: ${{ env.QT_VERSION }} + host: linux + target: desktop + arch: gcc_64 + archives: "qtbase qtdeclarative qttools qttranslations icu" + - uses: actions/setup-python@v4 + with: + python-version: "3.10" + - name: Report missing client translations + run: | + set -euxo pipefail + ls ${Qt6_DIR}/lib + ${GITHUB_WORKSPACE}/.github/scripts/python_setup.sh + + ${GITHUB_WORKSPACE}/.github/scripts/report_missing_client_translations.sh diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index b93168398..91bf4f9b1 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -3884,6 +3884,13 @@ Current C++/SQLite client, Python/SQLAlchemy server - Additional optional LGPL licensing for some Qt height-for-width layout code to make it suitable for inclusion in libraries elsewhere. +- Fix bug where the upload icon would remain visible if the activity log were enabled and + the upload failed. + https://github.com/ucam-department-of-psychiatry/camcops/issues/341 + +- Make it easier to turn on error logging in the event of a network operation failure. + https://github.com/ucam-department-of-psychiatry/camcops/issues/336 + - The Patient Registration Dialog now displays the server URL and access key for the previous registration, if available. This should reduce the amount of data entry needed following a network or registration failure. diff --git a/docs/source/developer/_build_client_translations_help.txt b/docs/source/developer/_build_client_translations_help.txt index fa05e7a17..59c01a1f1 100644 --- a/docs/source/developer/_build_client_translations_help.txt +++ b/docs/source/developer/_build_client_translations_help.txt @@ -41,7 +41,8 @@ Operations: POSITIONAL ARGUMENTS: operation Operation to perform; possibilities are ['po2ts', - 'update', 'ts2po', 'release', 'poedit', 'all'] + 'update', 'missing', 'ts2po', 'release', 'poedit', + 'all'] OPTIONS: -h, --help show this help message and exit diff --git a/docs/source/tasks/eq5d5l.rst b/docs/source/tasks/eq5d5l.rst index 44d70469f..99ef367af 100644 --- a/docs/source/tasks/eq5d5l.rst +++ b/docs/source/tasks/eq5d5l.rst @@ -35,6 +35,7 @@ patient is asked to rate their health on a scale of 0 to 100. EQ-5D-5L evolved from EQ-5D-3L, as the five level classifier provided greater discriminative ability and more power to detect differences between groups. + History and guide ~~~~~~~~~~~~~~~~~ @@ -64,11 +65,13 @@ More on scoring: - https://en.wikipedia.org/wiki/EQ-5D#Valuation_process + Source ~~~~~~ See https://euroqol.org/support/how-to-obtain-eq-5d/. + Intellectual property rights ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -90,3 +93,75 @@ As per https://euroqol.org/support/how-to-obtain-eq-5d/ (accessed 2018-10-25): As a result, the EQ-5D-5L scale itself is **not** included in CamCOPS, though its content may be added if you have the necessary permissions and scale, as above. + +Update, 28 Mar 2022 (email to a subscriber, footnotes added for hyperlinks and +Internet Archive versions used for URLs): + +.. code-block:: none + + EuroQol | 28 Mar 2022 View online [1] + + Dear [XXX], + + As indicated in our email from early January this year, the EuroQol Research + Foundation is pleased to announce that from 6 April 2022, the current + offering of three digital formats of EQ-5D (Smartphone/PDA, Tablet, and + Laptop/Desktop) will be replaced by one new digital format that can be used + on any digital device. From this date onwards, you can request the new + digital formats of EQ-5D via the online registration form. Requested EQ-5D + versions will be delivered via the new EuroQol Customer Portal. + + With the introduction of the new digital EQ-5D format, an updated version of + the User License Policy will come into effect as of 6 April 2022 – see here + [2]. + + * For commercial customers, a new license fee structure is introduced for + the new digital EQ-5D format. + + * For non-commercial customers interested in collecting data digitally on an + unsupported platform, the Fast Track – Digital registration route is + introduced; see here [3] for more information. + + As part of the introduction of the new digital format, we are rolling out a + library of EQ-5D Representations, which consists of EuroQol Office–approved + EQ-5D screenshots of the new digital EQ-5D versions. The library consists of + EQ-5D-3L, EQ-5D-5L, and EQ-5D-Y Representations of all available languages. + Representations from this library will be made available to registered + customers for all requested EQ-5D versions and languages via our EuroQol + Customer Portal, together with the requested EQ-5D labels and EuroQol’s + Digital Representation Design Guidelines. + + The EuroQol Office–approved Representations will enable customers and + vendors to check that their digital implementation of EQ-5D conforms to + EuroQol’s Digital Representation Design Guidelines. Moreover, as we are + providing these Representations for all available languages, customers can + also verify the correct placement of all EQ-5D labels. This means that from + 6 April 2022, customers will be solely responsible for checking the + correctness of all digital EQ-5D implementations. Screenshot review by the + EuroQol Office team will no longer be mandatory. However, as a service, the + Office team will continue to do screenshot reviews on request. + + Lastly, the EuroQol Research Foundation will continue with making EQ-5D + available free for non-commercial use, after registration. As screenshot + review is no longer required, a screenshot review fee will no longer be + charged to non-commercial customers who collect data on unsupported digital + platforms (i.e. on platforms other than REDCap, LimeSurvey, Qualtrics, or + Castor EDC); see here [3] for more information. + + For more information and FAQs, please see here [3]. + + If you have any questions, please contact the EuroQol Office at + digitaldatacollection@euroqol.org. + + Best wishes, + + Bernhard Slaap. PhD + Executive Director + EuroQol Research Foundation + +[1] https://mailchi.mp/euroqol/switch-to-a-universal-digital-format-14921174 or +https://web.archive.org/web/20240328124540/https://mailchi.mp/euroqol/switch-to-a-universal-digital-format-14921174 + +[2] https://web.archive.org/web/20220809230231/https://euroqol.org/wp-content/uploads/2022/03/EQ-5D-User-License-Policy-06APR2022.pdf + +[3] https://web.archive.org/web/20220517170036/https://euroqol.org/support/digital-data-collection/ diff --git a/server/setup.py b/server/setup.py index ad61ac622..6297a4ae5 100644 --- a/server/setup.py +++ b/server/setup.py @@ -103,7 +103,7 @@ "pdfkit==1.0.0", # wkhtmltopdf interface, for PDF generation from HTML "phonenumbers==8.12.30", # phone number parsing, storing and validating "pycap==1.1.1", # REDCap integration - "Pillow==10.2.0", # used by a dependency; pin for security warnings + "Pillow==10.3.0", # used by a dependency; pin for security warnings "Pygments==2.15.0", # Syntax highlighting for introspection/DDL "pyexcel-ods3==0.6.0", # ODS spreadsheet export "pyexcel-xlsx==0.6.0", # XLSX spreadsheet export diff --git a/tablet_qt/core/camcopsapp.cpp b/tablet_qt/core/camcopsapp.cpp index faed169a6..cb078ecaa 100644 --- a/tablet_qt/core/camcopsapp.cpp +++ b/tablet_qt/core/camcopsapp.cpp @@ -521,12 +521,8 @@ void CamcopsApp::patientRegistrationFailed( break; } - uifunc::alert( - QString("%1\n\n%2").arg(base_message, additional_message), - tr("Error") - ); - - recreateMainMenu(); + maybeRetryNetworkOperation(base_message, additional_message, + NetworkOperation::RegisterPatient); } @@ -556,7 +552,8 @@ void CamcopsApp::updateTaskSchedulesFailed( handleNetworkFailure( error_code, error_string, - tr("There was a problem updating your task schedules.") + tr("There was a problem updating your task schedules."), + NetworkOperation::UpdateTaskSchedules ); } @@ -582,7 +579,8 @@ void CamcopsApp::uploadFailed(const NetworkManager::ErrorCode error_code, handleNetworkFailure( error_code, error_string, - tr("There was a problem sending your completed tasks to the server.") + tr("There was a problem sending your completed tasks to the server."), + NetworkOperation::Upload ); } @@ -636,7 +634,8 @@ void CamcopsApp::retryUpload() void CamcopsApp::handleNetworkFailure(const NetworkManager::ErrorCode error_code, const QString& error_string, - const QString& base_message) + const QString& base_message, + CamcopsApp::NetworkOperation operation) { QString additional_message = ""; @@ -664,14 +663,51 @@ void CamcopsApp::handleNetworkFailure(const NetworkManager::ErrorCode error_code break; } - uifunc::alert( + maybeRetryNetworkOperation(base_message, additional_message, operation); +} + + +void CamcopsApp::maybeRetryNetworkOperation(const QString base_message, + const QString additional_message, + CamcopsApp::NetworkOperation operation) +{ + const bool try_again_with_log = uifunc::confirm( QString("%1\n\n%2").arg(base_message, additional_message), - tr("Error") + tr("Error"), + tr("Try again with error log"), + TextConst::cancel() ); - recreateMainMenu(); + if (!try_again_with_log) { + recreateMainMenu(); + + return; + } + + enableNetworkLogging(); + + switch (operation) { + case NetworkOperation::RegisterPatient: + registerPatientWithServer(); + break; + + case NetworkOperation::UpdateTaskSchedules: + // it doesn't matter if we pass alert_unfinished_tasks as True or False + // here. We wouldn't be here if there were unfinished tasks. + updateTaskSchedules(); + break; + + case NetworkOperation::Upload: + upload(); + break; + + default: + // Shouldn't get here + break; + } } + TaskSchedulePtrList CamcopsApp::getTaskSchedules() { TaskSchedulePtrList task_schedules; @@ -3215,14 +3251,14 @@ void CamcopsApp::upload() return; } - const bool single_user_mode = isSingleUserMode(); + const bool logging_network = isLoggingNetwork(); reconnectNetManager( - single_user_mode ? &CamcopsApp::uploadFailed : nullptr, - single_user_mode ? &CamcopsApp::uploadFinished : nullptr); - // ... no failure handlers required in clinician mode -- the NetworkManager - // will not be in silent mode, so will report the error to the user - // directly. (And similarly, we didn't/don't need a "finished" callback in - // clinician mode.) + logging_network ? nullptr : &CamcopsApp::uploadFailed, + logging_network ? nullptr : &CamcopsApp::uploadFinished); + // ... no failure handlers required when displaying the network log -- + // the NetworkManager will not be in silent mode, so will report the error + // to the user directly. (And similarly, we didn't/don't need a "finished" + // callback in with the logbox enabled.) showNetworkGuiGuard(tr("Uploading...")); networkManager()->upload(method); diff --git a/tablet_qt/core/camcopsapp.h b/tablet_qt/core/camcopsapp.h index 414cbddb4..dbbb5ec73 100644 --- a/tablet_qt/core/camcopsapp.h +++ b/tablet_qt/core/camcopsapp.h @@ -237,9 +237,20 @@ class CamcopsApp : public QApplication // For single user mode, register patient if not already done so void maybeRegisterPatient(); + enum class NetworkOperation { + RegisterPatient, + UpdateTaskSchedules, + Upload + }; + void handleNetworkFailure(const NetworkManager::ErrorCode error_code, const QString& error_string, - const QString& base_message); + const QString& base_message, + CamcopsApp::NetworkOperation operation); + + void maybeRetryNetworkOperation(const QString base_message, + const QString additional_message, + CamcopsApp::NetworkOperation operation); bool userConfirmedRetryPassword() const; bool userConfirmedDeleteDatabases() const; diff --git a/tablet_qt/tools/build_client_translations.py b/tablet_qt/tools/build_client_translations.py index 201f167ff..07edf00ed 100755 --- a/tablet_qt/tools/build_client_translations.py +++ b/tablet_qt/tools/build_client_translations.py @@ -37,7 +37,9 @@ from os.path import abspath, dirname, join import shutil import subprocess +import sys from typing import Iterable, List +import xml.etree.ElementTree as ET from cardinal_pythonlib.logs import ( BraceStyleAdapter, @@ -66,6 +68,7 @@ OP_PO_TO_TS = "po2ts" OP_SRC_TO_TS = "update" +OP_MISSING = "missing" OP_TS_TO_QM = "release" OP_TS_TO_PO = "ts2po" OP_POEDIT = "poedit" @@ -73,12 +76,14 @@ ALL_OPERATIONS = [ OP_PO_TO_TS, OP_SRC_TO_TS, + OP_MISSING, OP_TS_TO_PO, OP_TS_TO_QM, OP_POEDIT, OP_ALL, ] - +EXIT_SUCCESS = 0 +EXIT_FAILURE = 1 # ============================================================================= # Support functions @@ -174,6 +179,47 @@ def gen_files_with_ext(directory: str, ext: str) -> Iterable[str]: yield fullpath +def report_missing_translations() -> int: + exit_code = EXIT_SUCCESS + for ts_filename in gen_files_with_ext(TRANSLATIONS_DIR, EXT_TS): + missing = [] + tree = ET.parse(ts_filename) + ts = tree.getroot() + + for context in ts.findall("context"): + line = 0 + filename = "" + + for message in context.findall("message"): + for location in message.findall("location"): + new_filename = location.attrib.get("filename") + + if new_filename is not None: + filename = new_filename + line = 0 + + line_diff = location.attrib.get("line", 0) + line += int(line_diff) + + translation = message.find("translation") + if translation.attrib.get("type", "") == "unfinished": + source = message.find("source").text + missing.append( + dict(filename=filename, line=line, source=source) + ) + + if missing: + exit_code = EXIT_FAILURE + print(f"Missing translations found in: {ts_filename}:") + for entry in missing: + filename = entry["filename"] + line = entry["line"] + source = entry["source"] + print(f"File: {filename}, line: {line}\n{source}\n") + + return exit_code + + # ============================================================================= # Command-line entry point # ============================================================================= @@ -301,6 +347,11 @@ def main() -> None: cmdargs = [args.lupdate] + options + [CAMCOPS_PRO_FILE] run(cmdargs) + if op == OP_MISSING: + exit_code = report_missing_translations() + + sys.exit(exit_code) + if op in (OP_TS_TO_PO, OP_ALL): log.debug( f"Copying all {EXT_TS} files to corresponding {EXT_PO} files if " diff --git a/tablet_qt/translations/camcops_da_DK.qm b/tablet_qt/translations/camcops_da_DK.qm index 9fca1618a..8d3676490 100644 Binary files a/tablet_qt/translations/camcops_da_DK.qm and b/tablet_qt/translations/camcops_da_DK.qm differ diff --git a/tablet_qt/translations/camcops_da_DK.ts b/tablet_qt/translations/camcops_da_DK.ts index 52e002505..afe612148 100644 --- a/tablet_qt/translations/camcops_da_DK.ts +++ b/tablet_qt/translations/camcops_da_DK.ts @@ -4,7 +4,7 @@ APEQCPFTPerinatal - + Assessment Patient Experience Questionnaire for CPFT Perinatal Services Assessment Patient Experience Questionnaire for CPFT Perinatal Services [vurdering patient oplevelse spørgeskema for CPFT perinatal tjenester] @@ -17,7 +17,7 @@ Ace3 - + Addenbrooke’s Cognitive Examination, revision 3 Addenbrooke’s Cognitive Examination [Addenbrooke's kognitive undersøgelse], revision 3 @@ -165,7 +165,7 @@ AceFamily - + Server strings are not providing valid information about which address versions are available. Try re-fetching server info. Serverstrenge giver ikke gyldige oplysninger om, hvilke adresseversioner der er tilgængelige. Prøv at hente serveroplysninger igen. @@ -218,7 +218,7 @@ Apeqpt - + Assessment Patient Experience Questionnaire for Psychological Therapies Assessment Patient Experience Questionnaire for Psychological Therapies [vurdering patient oplevelse spørgeskema for psykologiske terapier] @@ -231,7 +231,7 @@ Asdas - + Ankylosing Spondylitis Disease Activity Score Ankylosing Spondylitis Disease Activity Score [ankyloserende spondylitis sygdom aktivitet score] @@ -270,7 +270,7 @@ Badls - + Bristol Activities of Daily Living Scale Bristol Activities of Daily Living Scale [Bristol aktiviteter med daglig levetidskala] @@ -283,7 +283,7 @@ Basdai - + Bath Ankylosing Spondylitis Disease Activity Index Bath Ankylosing Spondylitis Disease Activity Index [ankyloserende spondylitis sygdom aktivitetsindeks] @@ -309,7 +309,7 @@ Bmi - + Body mass index Kropsmasseindeks @@ -332,7 +332,7 @@ Bprs - + Brief Psychiatric Rating Scale Brief Psychiatric Rating Scale [kort psykiatrisk vurdering skala] @@ -345,7 +345,7 @@ BprsE - + Brief Psychiatric Rating Scale, Expanded Brief Psychiatric Rating Scale, Expanded [kort psykiatrisk vurdering skala, udvidet] @@ -358,7 +358,7 @@ CPFTCovidMedical - + CPFT Post-COVID-19 Clinic Medical Questionnaire CPFT Medicinsk Spørgeskema Efter COVID-19 @@ -371,7 +371,7 @@ CPFTLPSDischarge - + CPFT LPS – discharge CPFT LPS – udledning @@ -384,7 +384,7 @@ CPFTLPSReferral - + CPFT LPS – referral CPFT LPS – henvisning @@ -397,7 +397,7 @@ CPFTLPSResetResponseClock - + CPFT LPS – reset response clock CPFT LPS – nulstil svarklok @@ -410,7 +410,7 @@ CPFTResearchPreferences - + CPFT Research Preferences CPFT-forskningspræferencer @@ -436,12 +436,12 @@ CamcopsApp - + Configuring internal database Konfiguration af intern database - + Enter a new password for the CamCOPS application Indtast en ny adgangskode til CamCOPS-applikationen @@ -491,7 +491,7 @@ Nej, jeg kan ikke huske kodeordet - + Upload? Upload? @@ -506,13 +506,13 @@ Ja, upload - - + + No, cancel Nej, annuller - + You did not select how you would like to use CamCOPS Du valgte ikke, hvordan du vil bruge CamCOPS @@ -580,23 +580,22 @@ Har du forbindelse til internettet? Angav du den korrekte CamCOPS-serverplacering? - - + Error Fejl - + There was a problem updating your task schedules. Der opstod et problem med at opdatere dine opgaveplaner. - + There was a problem sending your completed tasks to the server. Der opstod et problem med at sende dine gennemførte opgaver til serveren. - + Unexpectedly, your server settings have changed. Uventet har dine serverindstillinger ændret sig. @@ -610,7 +609,12 @@ Are you connected to the internet? Har du forbindelse til internettet? - + + Try again with error log + Prøv igen med fejllog + + + You entered an incorrect password. Try again? Du indtastede en forkert adgangskode. Prøv igen? @@ -637,7 +641,7 @@ Alle poster, der ikke uploades til serveren, går tabt. Slet database? - + Enter app password Indtast programadgangskode @@ -682,7 +686,7 @@ Alle poster, der ikke uploades til serveren, går tabt. Forkert gammel adgangskode - + Terms and conditions of use Vilkår og betingelser for brug @@ -697,7 +701,7 @@ Alle poster, der ikke uploades til serveren, går tabt. JEG ER IKKE ENIG - + OK. Goodbye. Okay. Farvel. @@ -707,7 +711,7 @@ Alle poster, der ikke uploades til serveren, går tabt. Du nægtede betingelserne. - + Uploading... Uploader … @@ -744,7 +748,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Flyt - + Opening... Åbning... @@ -752,43 +756,12 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice CameraQCamera - + Take Tage - - - Focusing... - Focusing... - - - - Unlock - Lås - - - - Focused - Fokuseret - - - - Focus - Fokus - - - - Focus failed - Fokus mislykkedes - - - - Camera - Kamera - - - + Image capture error Billedoptagelsesfejl @@ -801,7 +774,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Cape42 - + Community Assessment of Psychic Experiences Community Assessment of Psychic Experiences [samfundsvurdering af psykiske oplevelser] @@ -827,7 +800,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice CardinalExpDetThreshold - + Cardinal RN — ExpDet-Threshold task Cardinal RN — ExpDet-tærskelværdi opgave @@ -927,7 +900,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Har du hørt en - + Auditory Auditiv @@ -940,7 +913,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice CardinalExpectationDetection - + Cardinal RN — Expectation–Detection task Cardinal RN — Expectation–Detection task [forventning/påvisningsopgave] @@ -971,7 +944,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice CbiR - + Cambridge Behavioural Inventory, Revised Cambridge Behavioural Inventory, Revised [Cambridge adfærdsmæssige opgørelse, revideret] @@ -997,7 +970,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Cesd - + Center for Epidemiologic Studies Depression Scale Center for Epidemiologic Studies Depression Scale [center for epidemiologiske studier, depression skala] @@ -1010,7 +983,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Cesdr - + Center for Epidemiologic Studies Depression Scale (Revised) Center for Epidemiologic Studies Depression Scale, Revised [center for epidemiologiske studier, depression skala, reviderede] @@ -1020,6 +993,19 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice 20-vare selvbetænkning depression skala. + + Cet + + + Compulsive Exercise Test + Compulsive Exercise Test [kompulsiv træningstest] + + + + Self-rated 24-item questionnaire about compulsive exercise. + Selvvurderet spørgeskema med 24 punkter om tvangstræning. + + Cgi @@ -1049,7 +1035,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice CgiSch - + Clinical Global Impression – Schizophrenia Clinical Global Impression – Schizophrenia [klinisk global indtryk – skizofreni] @@ -1062,7 +1048,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Chit - + Cambridge–Chicago Compulsivity Trait Scale Cambridge–Chicago Compulsivity Trait Scale [Cambridge–Chicago kompulsivitet egenskab skalaen] @@ -1181,7 +1167,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Cia - + The Clinical Impairment Assessment questionnaire Clinical Impairment Assessment (spørgeskemaet til vurdering af klinisk svækkelse) @@ -1194,7 +1180,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Cisr - + Clinical Interview Schedule – Revised Clinical Interview Schedule – Revised [klinisk interviewplan - revideret] @@ -1207,7 +1193,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Ciwa - + Clinical Institute Withdrawal Assessment for Alcohol Scale, Revised Clinical Institute Withdrawal Assessment for Alcohol Scale, Revised [klinisk institut tilbagetrækning vurdering for alkohol skala, revideret] @@ -1382,7 +1368,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice ContactLog - + Contact log Kontakt log @@ -1395,7 +1381,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice CopeBrief - + Brief COPE Inventory Brief COPE Inventory [kortfattet COPE fortegnelse] @@ -1408,7 +1394,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Core10 - + Clinical Outcomes in Routine Evaluation, 10-item measure Clinical Outcomes in Routine Evaluation [kliniske resultater i rutinemæssig evaluering], 10-punkts mål @@ -1442,7 +1428,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Ctqsf - + Childhood Trauma Questionnaire, Short Form Childhood Trauma Questionnaire, Short Form [barndoms traume spørgeskema, kort formular] @@ -1455,7 +1441,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Dad - + Disability Assessment for Dementia Disability Assessment for Dementia [handicapvurdering for demens] @@ -1477,7 +1463,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice Das28 - + Disease Activity Score-28 Disease Activity Score-28 [sygdomsaktivitetsscore-28] @@ -1503,7 +1489,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice DeakinS1HealthReview - + Deakin JB — Antibody-mediated psychosis study — health review Deakin JB — Antistofmedieret psykosestudie — Sundhedsanmeldelse @@ -1516,7 +1502,7 @@ Flyt venligst, når det er muligt; dette reducerer mængden af patientidentifice DemoQuestionnaire - + Demonstration task Demonstration opgave @@ -2445,7 +2431,7 @@ enig DiagnosisIcd10 - + Diagnostic coding (ICD-10) Diagnostisk kodning (ICD-10) @@ -2458,7 +2444,7 @@ enig DiagnosisIcd9CM - + Diagnostic coding (ICD-9-CM) Diagnostisk kodning (ICD-9-CM) @@ -2489,7 +2475,7 @@ enig DiagnosticCodeSelector - + Explore as tree [use icon at top right to search]: Udforsk som træ [brug ikon øverst til højre for at søge]: @@ -2515,7 +2501,7 @@ enig EatingDisordersMenu - + Eating disorders Spiseforstyrrelser @@ -2523,7 +2509,7 @@ enig Edeq - + Eating Disorder Examination Questionnaire Eating Disorder Examination Questionnaire (spørgeskema til undersøgelse af spiseforstyrrelse) @@ -2562,7 +2548,7 @@ enig Eq5d5l - + EuroQol 5-Dimension, 5-Level Health Scale EuroQol 5-dimension, 5-niveau sundhedsskala @@ -2590,7 +2576,7 @@ enig Esspri - + EULAR Sjögren’s Syndrome Patient Reported Index EULAR Sjögren’s Syndrome Patient Reported Index [EULAR Sjögrens syndrom patient-rapporteret indeks] @@ -2611,7 +2597,7 @@ enig Factg - + Functional Assessment of Cancer Therapy—General Functional Assessment of Cancer Therapy—General [funktionel vurdering af kræftbehandling—generel] @@ -2637,7 +2623,7 @@ enig Fft - + Friends and Family Test Friends and Family Test [venner og familie test] @@ -2647,24 +2633,6 @@ enig Anmoder patienten om at vurdere en klinisk service med et enkelt spørgsmål. - - FocusButton - - - Focus - Fokus - - - - Focusing - Fokusering - - - - Unlock - Lås - - FontSizeAndDpiWindow @@ -2736,7 +2704,7 @@ enig FontSizeWindow - + Questionnaire font size Spørgeskema skriftstørrelse @@ -2774,7 +2742,7 @@ enig Frs - + Frontotemporal Dementia Rating Scale Frontotemporal Dementia Rating Scale [frontotemporal demens rating skala] @@ -2800,7 +2768,7 @@ enig Gaf - + Global Assessment of Functioning Global Assessment of Functioning [global vurdering af funktionen] @@ -2852,7 +2820,7 @@ enig Gds15 - + Geriatric Depression Scale, 15-item version Geriatric Depression Scale [geriatrisk depression skala], 15-vare version @@ -2873,7 +2841,7 @@ enig GmcPq - + UK General Medical Council (GMC) Patient Questionnaire UK General Medical Council (GMC) [generel medicinsk rådsforsamling] patient spørgeskema @@ -2886,7 +2854,7 @@ enig Hads - + Hospital Anxiety and Depression Scale Hospital Anxiety and Depression Scale [hospital angst og depression skala] @@ -2899,7 +2867,7 @@ enig HadsRespondent - + Hospital Anxiety and Depression Scale, non-patient respondent version Hospital Anxiety and Depression Scale [hospital angst og depression skala], version, hvor respondenten ikke er patienten @@ -2907,7 +2875,7 @@ enig HamA - + Hamilton Rating Scale for Anxiety Hamilton Rating Scale for Anxiety [Hamilton rating skala for angst] @@ -2920,7 +2888,7 @@ enig HamD - + Hamilton Depression Rating Scale [HDRS/HAM-D/HRSD] Hamilton Depression Rating Scale (depression bedømmelse skala) [HDRS/HAM-D/HRSD] @@ -2933,7 +2901,7 @@ enig HamD7 - + Hamilton Depression Rating Scale, 7-item version Hamilton Depression Rating Scale (depression bedømmelse skala), 7-vare version @@ -2946,7 +2914,7 @@ enig HelpMenu - + Help Hjælp @@ -3124,7 +3092,7 @@ enig Honos - + Health of the Nation Outcome Scales, working age adults Health of the Nation Outcome Scales [sundhed af nationen resultat skalaer], voksne i erhvervsalderen @@ -3137,7 +3105,7 @@ enig Honos65 - + Health of the Nation Outcome Scales, older adults Health of the Nation Outcome Scales [sundhed af nationen resultat skalaer], ældre voksne @@ -3150,7 +3118,7 @@ enig Honosca - + Health of the Nation Outcome Scales, Children and Adolescents Health of the Nation Outcome Scales [sundhed af nationen resultat skalaer], børn og unge @@ -3171,7 +3139,7 @@ enig IDED3D - + Three-dimensional intradimensional/extradimensional set-shifting task Tredimensionel intradimensionel/ekstradimensionel set-shifting opgave @@ -3181,7 +3149,7 @@ enig Enkel diskrimination, reversering, sammensat diskrimination, reversering, ID sæt skift, reversering, ED sæt skift, reversering. Dimensioner af form/farve/nummer. - + Debug mode for displaying test stimuli only Debug mode for kun at vise test stimuli @@ -3206,7 +3174,7 @@ enig Forsøg: - + WARNING: cannot proceed: must satisfy progress_criterion_x <= progress_criterion_y ADVARSEL: Kan ikke fortsætte: skal tilfredsstille progress_criterion_x <= progress_criterion_y @@ -3219,7 +3187,7 @@ enig Icd10Depressive - + ICD-10 symptomatic criteria for a depressive episode (as in e.g. F06.3, F25, F31, F32, F33) ICD-10 symptomatiske kriterier for en depressiv episode (som i fx F06.3, F25, F31, F32, F33) @@ -3227,7 +3195,7 @@ enig Icd10Manic - + ICD-10 symptomatic criteria for a manic/hypomanic episode (as in e.g. F06.3, F25, F30, F31) ICD-10 symptomatiske kriterier for en manisk/hypomanisk episode (som i fx F06.3, F25, F30, F31) @@ -3251,7 +3219,7 @@ enig Icd10Schizotypal - + ICD-10 criteria for schizotypal disorder (F21) ICD-10 kriterier for schizotypisk lidelse (F21) @@ -3259,7 +3227,7 @@ enig Icd10SpecPD - + ICD-10 criteria for specific personality disorders (F60) ICD-10 kriterier for specifikke personlighedsforstyrrelser (F60) @@ -3285,7 +3253,7 @@ enig Ifs - + INECO Frontal Screening INECO Frontal Screening [frontallappen screening test] @@ -3298,7 +3266,7 @@ enig Irac - + Identify and Rate the Aim of the Contact Identify and Rate the Aim of the Contact [identificere og vurdere formålet med kontakten] @@ -3311,7 +3279,7 @@ enig Isaaq10 - + Internet Severity and Activities Addiction Questionnaire, 10-items Internet sværhedsgrad og aktiviteter afhængighed spørgeskema, 10-elementer @@ -3324,7 +3292,7 @@ enig IsaaqEd - + Internet Severity and Activities Addiction Questionnaire, Eating Disorders Appendix Internet Severity and Activities Addiction Questionnaire, Eating Disorders Appendix (internet sværhedsgrad og aktiviteter afhængighed spørgeskema, spiseforstyrrelser appendiks) @@ -3350,7 +3318,7 @@ enig KhandakerMojoMedical - + Khandaker GM — MOJO — Medical questionnaire Khandaker GM — MOJO — Medicinsk spørgeskema @@ -3363,7 +3331,7 @@ enig KhandakerMojoMedicationTherapy - + Khandaker GM — MOJO — Medications and therapies Khandaker GM — MOJO — Medicin og terapier @@ -3402,7 +3370,7 @@ enig KhandakerMojoSociodemographics - + Khandaker GM — MOJO — Sociodemographics Khandaker GM — MOJO — Sociodemografi @@ -3415,7 +3383,7 @@ enig Kirby - + Kirby et al. 1999 Monetary Choice Questionnaire Kirby et al. 1999 Monetary Choice Questionnaire [spørgeskema til monetært valg] @@ -3435,7 +3403,7 @@ enig <i>k</i> (dage<sup>–1</sup>, Wileyto 2004 metode): <b>%1</b> (henfald til halv værdi på <b>%2</b> dage). - + %1 today %1 i dag @@ -3453,7 +3421,7 @@ enig LogBox - + Acknowledge failure Bekræft fejl @@ -3484,7 +3452,7 @@ enig LynallIamMedical - + Lynall M-E — IAM — Medical history Lynall M-E — IAM — Medicinsk historie @@ -3497,7 +3465,7 @@ enig Maas - + Maternal Antenatal Attachment Scale Maternal Antenatal Attachment Scale [maternal antenatal fastgørelse skala] @@ -3599,7 +3567,7 @@ enig MenuHeader - + Dump layout Skriv layoutet @@ -3622,7 +3590,7 @@ enig MenuItem - + UNKNOWN TASK UKENDT OPGAVE @@ -3734,7 +3702,7 @@ enig Mfi20 - + Multidimensional Fatigue Inventory Multidimensional Fatigue Inventory [multidimensionel træthedsinventar] @@ -3747,7 +3715,7 @@ enig MiniAce - + Mini-Addenbrooke’s Cognitive Examination Mini-Addenbrooke’s Cognitive Examination [Mini-Addenbrooke's kognitive undersøgelse] @@ -3828,7 +3796,7 @@ enig ModeDialog - + Select clinician or single user mode Vælg kliniker eller enkeltbrugertilstand @@ -3869,7 +3837,7 @@ enig NetworkManager - + Server host details not specified; see Settings Serverhost detaljer ikke specificeret; se Indstillinger @@ -3970,11 +3938,12 @@ enig + Requesting extra strings Anmodning om ekstra strenger - + ... received extra strings ... modtaget ekstra strenge @@ -4017,14 +3986,14 @@ enig - - + + ... OK ... Okay - + Reply is not from CamCOPS API. Are your server settings misconfigured? Svaret kommer ikke fra CamCOPS API. Er dine serverindstillinger forkert konfigureret? @@ -4081,7 +4050,7 @@ enig Forbereder upload til: - + ... server doesn't want anything from this table ... server vil ikke have noget fra denne tabel @@ -4202,12 +4171,12 @@ enig FEJL: Tabellen '%1' indeholder data; den er til stede på serveren, men serveren kræver klientversion >=%2; du bruger version %3 - + Server version (%1) doesn't match stored version (%2). Server version (%1) matcher ikke den lagrede version (%2). - + Local upload policy [%1] doesn't match server's [%2]. Lokal uploadpolitik [%1] matcher ikke serverens [%2]. @@ -4237,8 +4206,8 @@ enig Hent venligst serveroplysninger igen. - - + + Failed to parse patient info: %1 Mislykkedes at parse patientoplysninger: %1 @@ -4248,12 +4217,12 @@ enig Mislykkedes at analysere oplysninger om intellektuel ejendomsret: %1 - + WARNING: Table '%1' is present on the server but the client requires server version >=%2; the server is version %3; proceeding ONLY BECAUSE THIS TABLE IS EMPTY. ADVARSEL: Tabel '%1' er til stede på serveren, men klienten kræver serverversion >=%2; serveren er version %3; fortsætter KUN, fordi denne tabel er tom. - + Completed successfully. Afsluttet med succes. @@ -4268,7 +4237,7 @@ enig ... modtaget opgaveplaner - + WARNING: Table '%1' is present on the server but the server requires client version >=%2; you are using version %3; proceeding ONLY BECAUSE THIS TABLE IS EMPTY. ADVARSEL: Tabel '%1' er til stede på serveren, men serveren kræver klientversion >=%2; du bruger version %3; fortsætter KUN, fordi denne tabel er tom. @@ -4288,12 +4257,12 @@ enig Kontrollerer server CamCOPS version - + Server CamCOPS version (%1) is too old; must be >= %2 Server CamCOPS version (%1) er for gammel; skal være >=%2 - + Checking ID policies match server Kontrol af id-politikker matcher serverens @@ -4364,7 +4333,7 @@ enig OpenableWidget - + Abort: are you sure? Annuller: er du sikker? @@ -4377,7 +4346,7 @@ enig Ors - + Outcome Rating Scale Outcome Rating Scale [resultat vurdering skala] @@ -4403,7 +4372,7 @@ enig Panss - + Positive and Negative Syndrome Scale Positive and Negative Syndrome Scale [positiv og negativ syndrom skala] @@ -4416,7 +4385,7 @@ enig Paradise24 - + Psychosocial fActors Relevant to BrAin DISorders in Europe–24 Psychosocial fActors Relevant to BrAin DISorders in Europe–24 (Psykosociale faktorer, der er relevante for hjernesygdomme i Europa–24) @@ -4472,7 +4441,7 @@ enig Patient - + [No ID numbers] [Ingen ID-numre] @@ -4587,7 +4556,7 @@ enig PatientRegistrationDialog - + Registration Registrering @@ -4605,7 +4574,7 @@ enig PatientSatisfaction - + Patient Satisfaction Scale Patient Satisfaction Scale [patient tilfredshed skala] @@ -4649,7 +4618,7 @@ enig Pcl5 - + PTSD Checklist for DSM-5 PTSD Checklist [post-traumatisk stresslidelse tjekliste] til DSM-5 @@ -4662,7 +4631,7 @@ enig PclC - + PTSD Checklist, Civilian version PTSD Checklist [post-traumatisk stresslidelse tjekliste], civilist version @@ -4670,7 +4639,7 @@ enig PclCommon - + 17-item self-report scale, based on DSM-IV-TR criteria. 17-items självrapporteringsskala, baserad på DSM-IV-TR-kriterier. @@ -4678,7 +4647,7 @@ enig PclM - + PTSD Checklist, Military version PTSD Checklist [post-traumatisk stresslidelse tjekliste], militær version @@ -4686,7 +4655,7 @@ enig PclS - + PTSD Checklist, Stressor-specific version PTSD Checklist [post-traumatisk stresslidelse tjekliste], stressfaktor-specifik version @@ -4694,7 +4663,7 @@ enig Pdss - + Panic Disorder Severity Scale Panic Disorder Severity Scale [paniklidelse alvorlighedsskala] @@ -4707,7 +4676,7 @@ enig PerinatalPoem - + Perinatal Patient-rated Outcome and Experience Measure Perinatal Patient-rated Outcome and Experience Measure [perinatalt patientrelateret udfald og erfaringsmål] @@ -4728,7 +4697,7 @@ enig Photo - + Photograph Foto @@ -4760,7 +4729,7 @@ enig Fange - + Auto Auto @@ -4785,12 +4754,12 @@ enig Fluorescerende - + View Se - + Quit Afslut @@ -4798,7 +4767,7 @@ enig PhotoPreview - + Save Gemme @@ -4877,7 +4846,7 @@ enig Phq8 - + Patient Health Questionnaire 8-item depression scale Patient Health Spørgeskema 8-punkts depression skala @@ -4911,7 +4880,7 @@ enig ProgressNote - + Progress note Fremskridt notat @@ -4924,7 +4893,7 @@ enig Pswq - + Penn State Worry Questionnaire Penn State Worry Questionnaire [Penn State bekymre spørgeskema] @@ -4937,7 +4906,7 @@ enig PsychiatricClerking - + Psychiatric clerking Interview af en psykiater @@ -4958,28 +4927,28 @@ enig QObject - + Error encrypting databases Fejl ved kryptering af databaser - + Alert Opmærksom - + [Invalid policy] [Ugyldig politik] - + Abort Afbryde - + Can’t perform this action when CamCOPS is locked Kan ikke udføre denne handling, når CamCOPS er låst @@ -5004,7 +4973,7 @@ enig Kunne ikke oprette mappe: - + true sand @@ -5043,7 +5012,7 @@ enig QuCountdown - + Start Start @@ -5058,7 +5027,7 @@ enig Nulstil - + FINISHED FÆRDIG @@ -5084,7 +5053,7 @@ enig QuLineEditDouble - + real number, %1 dp reelt tal, %1 decimaler @@ -5105,7 +5074,7 @@ enig QuPage - + Invalid information Ugyldig information @@ -5123,7 +5092,7 @@ enig Ingen OpenGL - + Delete this photo? Slet dette billede? @@ -5144,13 +5113,11 @@ enig - Saving image... Gemmer billedet... - - + Saving Gemmer @@ -5158,7 +5125,7 @@ enig Questionnaire - + Abort Afbryde @@ -5212,7 +5179,7 @@ enig ReferrerSatisfactionGen - + Referrer Satisfaction Scale (anonymous survey) Referrer Satisfaction Scale [referrer tilfredshed skala], anonym undersøgelse @@ -5225,7 +5192,7 @@ enig ReferrerSatisfactionSpec - + Referrer Satisfaction Scale (patient-specific) Referrer Satisfaction Scale [referrer tilfredshed skala], patientspecifikke @@ -5238,7 +5205,7 @@ enig ResearchMenu - + Research tasks Forskningsopgaver @@ -5292,7 +5259,7 @@ enig SQLCipherResult - + Unable to fetch row @@ -5304,7 +5271,7 @@ enig Ingen forespørgsel - + Unable to execute statement Kan ikke udføre kommando @@ -5319,7 +5286,7 @@ enig Kan ikke nulstille udsagn - + Unable to bind parameters Kan ikke binde parametre @@ -5407,37 +5374,32 @@ enig Kendt for at være sikker [standard] - - SSL v3 - SSL v3 - - - - SSL v2 - SSL v2 + + TLS v1.3 + TLS v1.3 - TLS v1.0 - TLS v1.0 + TLS v1.3 or later + TLS v1.3 eller senere - TLS v1.0 or later - TLS v1.0 eller senere + DTLS v1.2 + DTLS v1.2 - TLS v1.1 - TLS v1.1 + DTLS v1.2 or later + DTLS v1.2 eller senere - TLS v1.1 or later - TLS v1.1 eller senere + Any supported protocol + Enhver understøttet protokol - + TLS v1.2 TLS v1.2 @@ -5447,17 +5409,7 @@ enig TLS v1.2 eller senere - - SSLv2, SSLv3, or TLSv1.0 - SSLv2, SSLv3, eller TLSv1.0 - - - - TLS v1.0 or SSL v3 - TLS v1.0 eller SSL v3 - - - + Store user’s server password? Gem brugerens serveradgangskode? @@ -5515,7 +5467,7 @@ enig ServiceEvaluationMenu - + Service evaluation Service evaluering @@ -5536,7 +5488,7 @@ enig SetMenuCpftAdultEatingDisorders - + CPFT Adult Eating Disorders Service CPFT Voksen Spiseforstyrrelser Service @@ -5561,7 +5513,7 @@ enig Særlige betingelser - + Treatment/care Behandling/pleje @@ -5643,7 +5595,7 @@ enig SetMenuDeakin - + Deakin JB, University of Cambridge, UK — antibody-mediated psychosis study Deakin JB, University of Cambridge, UK — antistof-medieret psykosestudie @@ -5707,7 +5659,7 @@ enig SetMenuKhandakerInsight - + Khandaker GM — Insight study Khandaker GM — Insight forskningsundersøgelse @@ -5720,7 +5672,7 @@ enig SetMenuKhandakerMojo - + Khandaker GM — MOJO study Khandaker GM — MOJO forskningsundersøgelse @@ -5758,7 +5710,7 @@ enig SetMenuLynallIAM - + Lynall M-E — IAM study Lynall M-E — IAM forskningsundersøgelse @@ -5779,7 +5731,7 @@ enig SettingsMenu - + Settings Indstillinger @@ -6300,7 +6252,7 @@ enig Sfmpq2 - + Short-Form McGill Pain Questionnaire 2 Short-Form McGill Pain Questionnaire 2 [kortformet McGill smerte spørgeskema 2] @@ -6570,7 +6522,7 @@ enig Slums - + St Louis University Mental Status St Louis University Mental Status [St Louis universitet mental status] @@ -6596,7 +6548,7 @@ enig SoundTestDialog - + Sound test Lydtest @@ -6604,7 +6556,7 @@ enig Srs - + Session Rating Scale Session Rating Scale [sessionsvurdering skalaen] @@ -6617,7 +6569,7 @@ enig Suppsp - + Short UPPS-P Impulsive Behaviour Scale Short UPPS-P Impulsive Behaviour Scale [Kort UPPS-P impulsiv adfærdskala] @@ -6643,7 +6595,7 @@ enig Task - + MISSING PATIENT MISSENDE PATIENT @@ -6739,7 +6691,7 @@ enig TaskScheduleItem - + Completed 9/5000 Afsluttet @@ -6763,7 +6715,7 @@ Afsluttet TaskScheduleItemEditor - + Null task pointer Null-opgavemarkør @@ -6791,7 +6743,7 @@ Afsluttet TestMenu - + CamCOPS self-tests CamCOPS selvtest @@ -6922,13 +6874,13 @@ Afsluttet - + Test GLM: Gaussian Test GLM: Gaussian - - + + Test GLM: Poisson Test GLM: Poisson @@ -7619,27 +7571,27 @@ Tak! VideoCaptureControls - + Record Optag - + Stop Hold op - + View Se - - Switch to photo - Skift til billede + + Switch to Photo + Skift til foto - + Quit Afslut @@ -7660,7 +7612,7 @@ Tak! WhiskerTestMenu - + Test interface to Whisker Test grænseflade til Whisker @@ -7839,7 +7791,7 @@ Tak! WidgetTestMenu - + Widget tests Widget tests @@ -7860,7 +7812,7 @@ Tak! Ybocs - + Yale–Brown Obsessive Compulsive Scale, 9/89 revision Yale–Brown Obsessive Compulsive Scale [obsessiv kompulsiv skala], 9/89 revision @@ -7888,7 +7840,7 @@ Tak! YbocsSc - + Y-BOCS Symptom Checklist, 9/89 revision Y-BOCS Symptom Checklist [symptom checkliste], 9/89 revision @@ -7921,7 +7873,7 @@ Tak! Zbi12 - + Zarit Burden Interview, 12-item version Zarit Burden Interview [Zarit byrdeinterview], 12-vare version