Replace Javascript string concatenation with i18n parameters - addresses #1858 (#3019)

* Replace js string concatenation with i18n parameters

refs #1858
Remove Javascript string concatentation and use jquery i18n()
instead so that translators have the needed context and
flexibility to be able to do a good job. Also remove code-based
plurals conditionalization and replace with i18n.

* Update French translation so I can test non-English support

* Add missing localization

* Clean up formatting of service API link
This commit is contained in:
Tom Morris 2020-08-04 04:10:38 -04:00 committed by GitHub
parent 2f7a357023
commit 05fb4e355f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 119 additions and 134 deletions

View File

@ -36,6 +36,7 @@
"database-source/databaseSaveButton": "Save",
"database-source/databaseConnectButton": "Connect",
"database-source/newConnectionButtonDiv": "New connection",
"database-source/new-connection-legend":"New Connection Editor",
"database-source/savedConnectionSpan": "Saved connections",
"database-parsing/start-over": "« Start over",
"database-parsing/conf-pars": "Configure parsing options",

View File

@ -36,6 +36,7 @@
"database-source/databaseSaveButton": "Enregistrer",
"database-source/databaseConnectButton": "Connexion",
"database-source/newConnectionButtonDiv": "Nouvelle connexion",
"database-source/new-connection-legend": "Editeur de nouvelle connexion",
"database-source/savedConnectionSpan": "Connexions enregistrées",
"database-parsing/start-over": "« Recommencer",
"database-parsing/conf-pars": "Configurer les options de parsing",

View File

@ -23,9 +23,7 @@
<!-- <div class="panel panel-info"> -->
<form class="pure-form pure-form-aligned">
<fieldset class="new-connection-fieldset">
<!-- <div class="pure-control-group" style="border-bottom: 1px solid gray;">New Connection Editor </div> -->
<legend class="new-connection-legend pure-input-1-2">New Connection Editor</legend>
<legend class="new-connection-legend pure-input-1-2" id="new-connection-legend"></legend>
<div class="pure-control-group">
<label id="connectionNameLabel" for="name"></label>

View File

@ -69,6 +69,7 @@ Refine.DatabaseSourceUI.prototype.attachUI = function(body) {
if (self._defaultDatabaseType == "") { self._defaultDatabaseType = "mysql"; }
$('#database-title').text($.i18n('database-import/title'));
$('#new-connection-legend').text($.i18n('database-source/new-connection-legend'));
$('#connectionNameLabel').html($.i18n('database-source/connectionNameLabel'));
$('#databaseTypeLabel').html($.i18n('database-source/databaseTypeLabel'));
$('#databaseHostLabel').text($.i18n('database-source/databaseHostLabel'));

View File

@ -704,7 +704,7 @@
"core-views/finding-info2": "Aktivieren Sie „regulärer Ausdruck“, um Sonderzeichen (Zeilenumbrüche, Tabulaturen…) oder komplexe Muster zu finden.",
"core-views/replacement-info": "Wenn die Option „regulärer Ausdruck“ aktiviert ist und das Suchmuster Gruppen enthält, die durch Klammern getrennt sind, gibt $0 die komplette Zeichenkette zurück, die dem Muster entspricht und $1, $2… die erste, zweite… Gruppe.",
"core-views/replace-dont-escape": "verwenden Sie \\n für neue Zeilen, \\t für Tabulator, \\\\n für \\n, \\\\t für \\t.",
"core-views/warning-regex": "Ungültiger regulärer Ausdruck.",
"core-views/warning-regex": "Ungültiger regulärer Ausdruck : $1",
"core-views/use-values-as-identifiers": "Werte als Bezeichner verwenden",
"core-views/use-values-as-identifiers2": "Zellen markieren, die mit Ihren Werten als Bezeichner abgeglichen sind",
"core-views/choose-reconciliation-service": "Wählen Sie einen Abgleichdienst aus",

View File

@ -3,10 +3,9 @@
"core-index/slogan": "A power tool for working with messy data",
"core-index/help": "Help",
"core-index/about": "About",
"core-index/version": "Version",
"core-index/version": "Version $1",
"core-index/new-version": "New Version",
"core-index/download": "Download",
"core-index/now": "now",
"core-index/download-now": "Download $1 now.",
"core-index/change-value": "Change value of preference key",
"core-index/delete-key": "Delete preference key",
"core-index/preferences": "Preferences",
@ -43,10 +42,10 @@
"core-index-create/create-proj": "Create Project",
"core-index-create/starting": "Starting",
"core-index-create/done": "Done.",
"core-index-create/min-remaining": "minutes remaining",
"core-index-create/sec-remaining": "seconds remaining",
"core-index-create/min-remaining": "$1 minutes remaining",
"core-index-create/sec-remaining": "$1 seconds remaining",
"core-index-create/almost-done": "almost done …",
"core-index-create/memory-usage": "Memory usage:",
"core-index-create/memory-usage": "Memory usage: $1% ($2/$3MB)",
"core-index-create/no-details": "No technical details.",
"core-index-create/question": "Create a project by importing data. What kinds of data files can I import?",
"core-index-create/formats": "TSV, CSV, *SV, Excel (.xls and .xlsx), JSON, XML, RDF as XML, and Google Data documents are all supported. Support for other formats can be added with OpenRefine extensions.",
@ -114,7 +113,7 @@
"core-index-open/row-count": "Row&nbsp;Count",
"core-index-open/last-mod": "Last&nbsp;modified",
"core-index-open/del-title": "Delete this project",
"core-index-open/del-body": "Are you sure you want to delete project \"",
"core-index-open/del-body": "Are you sure you want to delete project \"$1\"?",
"core-index-open/new-title": "New project name:",
"core-index-open/warning-rename": "Failed to rename project:",
"core-index-open/warning-proj-name": "You must specify a project name.",
@ -209,6 +208,7 @@
"core-dialogs/updating": "Updating…",
"core-dialogs/scatterplot-matrix": "Scatterplot Matrix",
"core-dialogs/focusing-on": "focusing on",
"core-dialogs/focusing-on-column": " (focusing on $1)",
"core-dialogs/processing": "Processing…",
"core-dialogs/error-getColumnInfo": "Error calling 'get-columns-info'",
"core-dialogs/no-column-dataset": "There are no columns in this dataset",
@ -372,21 +372,18 @@
"core-project/extract-save": "Extract and save parts of your operation history as JSON that you can apply to this or other projects in the future.",
"core-project/apply-operation": "Apply Operation History",
"core-project/paste-json": "Paste an extracted JSON history of operations to perform:",
"core-project/complete": "complete",
"core-project/other-processes": "other pending processes",
"core-project/other-process": "other pending process",
"core-project/cancel-all": "Cancel All",
"core-project/cancel": "Cancel",
"core-project/percent-complete": "$1% complete",
"core-project/other-processes": "($1 other pending {{plural:$1|process|processes}})",
"core-project/cancel-all": "{{plural:$1|Cancel|Cancel All}}",
"core-project/canceling": "Canceling…",
"core-project/last-op-er": "The last operation encountered some errors",
"core-project/continue-remaining": "Continue with the remaining operations",
"core-project/last-op-er": "The last operation encountered some errors:",
"core-project/continue-remaining": "Continue with the remaining operations?",
"core-project/undo": "Undo",
"core-recon/add-std-srv": "Add standard service",
"core-recon/access": "Access",
"core-recon/service-api": "Service API",
"core-recon/cell-type": "Reconcile each cell to an entity of one of these types",
"core-recon/col-detail": "Also use relevant details from other columns",
"core-recon/against-type": "Reconcile against type",
"core-recon/access-service": "Access Service API",
"core-recon/cell-type": "Reconcile each cell to an entity of one of these types:",
"core-recon/col-detail": "Also use relevant details from other columns:",
"core-recon/against-type": "Reconcile against type:",
"core-recon/no-type": "Reconcile against no particular type",
"core-recon/auto-match": "Auto-match candidates with high confidence",
"core-recon/warning-type-sugg": "Sorry, we can't suggest any type for your data. Please specify a type yourself below.",
@ -407,15 +404,12 @@
"core-util-enc/all": "All Encodings",
"core-util-enc/encoding": "Encoding",
"core-util-enc/aliases": "Aliases",
"core-util-enc/today": "today",
"core-util-enc/yesterday": "yesterday",
"core-util-enc/days-ago": "days ago",
"core-util-enc/week-ago": "a week ago",
"core-util-enc/weeks-ago": "weeks ago",
"core-util-enc/month-ago": "a month ago",
"core-util-enc/months-ago": "months ago",
"core-util-enc/year-ago": "a year ago",
"core-util-enc/years-ago": "years ago",
"core-util-enc/today": "today at $1",
"core-util-enc/yesterday": "yesterday at $1",
"core-util-enc/days-ago": "$1 days ago",
"core-util-enc/weeks-ago": "$1 {{plural:$1|week|weeks}} ago",
"core-util-enc/months-ago": "$1 {{plural:$1|month|months}} ago",
"core-util-enc/years-ago": "$1 {{plural:$1|year|years}} ago",
"core-util-enc/working": "Working",
"core-util-enc/invalid-date": "Invalid date string",
"core-views/edit-cell": "Edit this cell",
@ -433,9 +427,7 @@
"core-views/search-for": "Search for",
"core-views/match-cell": "Match this Cell",
"core-views/match-identical": "Match All Identical Cells",
"core-views/matched": "matched",
"core-views/new": "new",
"core-views/to-be-recon": "to be reconciled",
"core-views/recon-stats": "$1% matched, $2% new, $3% to be reconciled",
"core-views/facet": "Facet",
"core-views/edit-cells": "Edit cells",
"core-views/edit-column": "Edit column",
@ -484,22 +476,24 @@
"core-views/recon-text-fb": "Reconcile text in this column with items in another data source",
"core-views/facets": "Facets",
"core-views/by-judg": "By judgment",
"core-views/judgment": "$1: judgment",
"core-views/best-score": "Best candidate's score",
"core-views/best-cand-score": "best candidate's score",
"core-views/best-cand-score": "$1: best candidate's score",
"core-views/best-type-match": "Best candidate's type match",
"core-views/best-cand-type-match": "best candidate's types match?",
"core-views/best-cand-type-match": "$1: best candidate's types match?",
"core-views/best-name": "Best candidate's name match",
"core-views/best-cand-name": "best candidate's name match?",
"core-views/best-cand-name": "$1: best candidate's name match?",
"core-views/best-edit-dist": "Best candidate's name edit distance",
"core-views/best-cand-edit-dist": "best candidate's name edit distance",
"core-views/best-cand-edit-dist": "$1: best candidate's name edit distance",
"core-views/best-word-sim": "Best candidate's name word similarity",
"core-views/best-cand-word-sim": "best candidate's name word similarity",
"core-views/best-cand-word-sim": "$1: best candidate's name word similarity",
"core-views/best-type": "Best candidate's types",
"core-views/best-cand-types": "$1: best candidate's types",
"core-views/qa-facets": "QA facets",
"core-views/judg-actions": "Judgment action type",
"core-views/judg-actions2": "Judgment Action type",
"core-views/judg-actions2": "$1: judgment action type",
"core-views/judg-hist": "Judgment action timestamp",
"core-views/hist-entries": "Judgment action timestamp",
"core-views/hist-entries": "$1: judgment action timestamp",
"core-views/actions": "Actions",
"core-views/best-cand": "Match each cell to its best candidate",
"core-views/best-cand2": "Match each cell to its best candidate in this column for all current filtered rows",
@ -563,8 +557,7 @@
"core-views/http-headers": "HTTP headers to be used when fetching URLs:",
"core-views/enter-col-name": "Enter new column name",
"core-views/join-col": "Join columns",
"core-views/split-col": "Split column",
"core-views/several-col": "into several columns",
"core-views/split-col": "Split column $1 into several columns",
"core-views/how-split": "How to Split Column",
"core-views/how-split-cells": "How to split multi-valued cells",
"core-views/by-sep": "by separator",
@ -698,7 +691,7 @@
"core-views/finding-info2": "Check \"regular expression\" to find special characters (new lines, tabulations…) or complex patterns.",
"core-views/replacement-info": "If \"regular expression\" option is checked and finding pattern contains groups delimited with parentheses, $0 will return the complete string matching the pattern, and $1, $2… the 1st, 2nd… group.",
"core-views/replace-dont-escape": "use \\n for new lines, \\t for tabulation, \\\\n for \\n, \\\\t for \\t.",
"core-views/warning-regex": "Invalid regular expression.",
"core-views/warning-regex": "Invalid regular expression : $1",
"core-views/use-values-as-identifiers": "Use values as identifiers",
"core-views/use-values-as-identifiers2": "Mark cells as reconciled with their values as identifiers",
"core-views/choose-reconciliation-service": "Choose a reconciliation service",
@ -749,7 +742,7 @@
"core-buttons/remove-all": "Remove All",
"core-buttons/perform-op": "Perform Operations",
"core-buttons/add-std-svc": "Add Standard Service",
"core-buttons/start-recon": "Start Reconciling",
"core-buttons/start-recon": "Start Reconciling...",
"core-buttons/add-service": "Add Service",
"core-buttons/dont-reconcile": "Don't Reconcile Cell",
"core-buttons/new-topic": "New Item",

View File

@ -725,7 +725,7 @@
"core-views/replace-dont-escape": "utilice \\n para saltos de renglón, \\t para tabuladores, \\\\n para \\n, \\\\t para \\t.",
"core-views/replacement-info": "Si se marca la opción «Expresión regular» y el modelo de búsqueda contiene grupos delimitados por paréntesis, $0 devolverá la cadena completa encontrada por el modelo, y $1, $2…, los grupos primero y segundo, respectivamente.",
"core-views/use-values-as-identifiers": "Utilizar valores como identificadores",
"core-views/warning-regex": "La expresión regular no es válida.",
"core-views/warning-regex": "La expresión regular no es válida : $1",
"core-views/column-join": "Unir columnas",
"core-views/column-join-field-separator-advice": "Introduzca uno o más caracteres o déjelo en blanco para unir las columnas.",
"core-views/column-join-field-separator": "Separador entre el contenido de cada columna:",

View File

@ -3,14 +3,13 @@
"core-index/help": "Aide",
"core-index/contributors": "Contributeurs :",
"core-index/new-proj-name": "Nom du nouveau projet :",
"core-index/download": "Télécharger",
"core-index/download-now": "Télécharger $1 maintenant.",
"core-index/delete-key": "Supprimer la préférence",
"core-index/id": "ID du projet :",
"core-index/subject": "Sujet :",
"core-index/preferences": "Préférences",
"core-index/creator": "Créateur :",
"core-index/no-proj": "Aucun projet nexiste. Cliquer sur \"Créer un projet\" sur la gauche pour créer un nouveau projet.",
"core-index/version": "Version",
"core-index/error-rename": "Échec du renommage du projet :",
"core-index/pref-key": "Valeur de la préférence :",
"core-index/prefs-loading-failed": "La lecture des préférences na pas réussi.",
@ -23,7 +22,6 @@
"core-index/rowCount": "Nombre de lignes :",
"core-index/key": "Préférence",
"core-index/new-version": "Nouvelle version",
"core-index/now": "maintenant",
"core-index/change-value": "Changer la valeur de cette préférence",
"core-index/about": "À propos",
"core-index/slogan": "Un outil puissant pour travailler avec des données désordonnées",
@ -35,12 +33,12 @@
"core-index/value": "Valeur",
"core-index/delete": "Supprimer",
"core-index-create/almost-done": "presque terminé…",
"core-index-create/min-remaining": "minutes restantes",
"core-index-create/min-remaining": "$1 minutes restantes",
"core-index-create/create-proj": "Créer un projet",
"core-index-create/from": "Récupérer les données à partir de",
"core-index-create/memory-usage": "Utilisation de la mémoire :",
"core-index-create/memory-usage": "Utilisation de la mémoire : $1% ($2/$3 Mo)",
"core-index-create/question": "Créer un projet en important des données. Quelles sortes de données puis-je importer ?",
"core-index-create/sec-remaining": "secondes restantes",
"core-index-create/sec-remaining": "$1 secondes restantes",
"core-index-create/done": "Terminé.",
"core-index-create/formats": "Les documents de type TSV, CSV, *SV, Excel (.xls and .xlsx), JSON, XML, RDF as XML, OpenDocument (.ods) et Google Data sont reconnus nativement. Dautres formats peuvent être ajoutés via des extensions OpenRefine.",
"core-index-create/starting": "Démarrage",
@ -96,7 +94,7 @@
"core-index-import/parse-as": "Considérer les données comme",
"core-index-import/unknown-err": "Erreur inconnue",
"core-index-open/rename": "renommer",
"core-index-open/del-body": "Êtes-vous sûr de vouloir supprimer ce projet \"",
"core-index-open/del-body": "Êtes-vous sûr de vouloir supprimer ce projet \"$1\"?",
"core-index-open/open-proj": "Ouvrir un projet",
"core-index-open/contributors": "Contributeurs",
"core-index-open/creator": "Créateur",
@ -166,6 +164,7 @@
"core-dialogs/reuse": "Réutiliser",
"core-dialogs/date-format": "Pour la date/heure, utiliser le format",
"core-dialogs/focusing-on": "centrer sur",
"core-dialogs/focusing-on-column": " (centrer sur $1)",
"clustering-keyers/fingerprint": "empreinte",
"core-dialogs/block-chars": "Bloc de caractères",
"core-dialogs/long-format": "Format long",
@ -327,7 +326,7 @@
"core-project/use-facets": "Utiliser les facettes et les filtres",
"core-project/extract-history": "Extraire des opérations de lhistorique",
"core-project/refreshing-facet": "Rafraichissement des facettes…",
"core-project/cancel-all": "Annuler tout",
"core-project/cancel-all": "{{plural:$1|Annuler|Annuler tout}}",
"core-project/excel": "Excel (.xls)",
"core-project/canceling": "Annulation…",
"core-project/proj-name": "Cliquer pour renommer le projet",
@ -336,7 +335,6 @@
"core-project/mistakes": "Nayez pas peur de faire des erreurs. Tous les traitements que vous effectuez sont enregistrés ici et vous pouvez revenir en arrière à tout moment.",
"core-project/export": "Exporter",
"core-project/extract-save": "Extraire et enregistrer des sous-parties de lhistorique des opérations au format JSON afin de les réappliquer dans ce projet ou de les réutiliser ultérieurement dans dautres projets.",
"core-project/cancel": "Annuler",
"core-project/apply": "Appliquer&hellip;",
"core-project/extract": "Extraire&hellip;",
"core-project/odf": "Classeur OpenDocument ODF (.ods)",
@ -350,20 +348,19 @@
"core-project/last-op-er": "Des erreurs sont survenues lors de la dernière opération",
"core-project/apply-operation": "Appliquer la liste des opérations",
"core-project/sql-export": "Export SQL…",
"core-project/other-process": "autre traitement suspendu",
"core-project/update-facets": "Mettre à jour toutes les facettes",
"core-project/undo-redo": "Défaire / Refaire",
"core-project/export-project": "Exporter le projet",
"core-project/watch-cast": "Regarder ces tutoriels vidéos",
"core-project/continue-remaining": "Poursuivre avec les opérations restantes",
"core-project/remove-all": "Supprimer toutes les facettes",
"core-project/complete": "effectué",
"core-project/percent-complete": "$1% effectué",
"core-project/undo": "Défaire",
"core-project/use-to-select": "Utiliser les facettes et les filtres pour sélectionner les sous-ensembles de données à traiter. Choisir les méthodes de facette et de filtre dans les menus situés dans les entêtes de colonne.",
"core-project/not-sure": "Vous ne savez pas par où commencer ?",
"core-project/permalink": "Permalien",
"core-project/learn-more": "En savoir plus &raquo;",
"core-project/other-processes": "autres traitements suspendus",
"core-project/other-processes": "($1 {{plural:$1|autre traitement|autres traitements}} suspendus)",
"core-project/project-data-package": "Data Package du projet",
"core-project/excel-xml": "Excel 2007+ (.xlsx)",
"core-project/custom-tabular": "Export tabulaire personnalisé…",
@ -373,19 +370,18 @@
"core-project/paste-json": "Coller une liste dopérations au format JSON à appliquer :",
"core-project/undo-history": "Historique dannulation infinie",
"core-recon/error-contact": "Erreur lors de la connexion au service de réconciliation",
"core-recon/access": "Accès",
"core-recon/access-service": "Accès Service API",
"core-recon/cell-contains": "Chaque cellule contient :",
"core-recon/auto-match": "Correspondance automatique des valeurs candidates",
"core-recon/column": "Colonne",
"core-recon/service-title": "Services",
"core-recon/against-type": "Réconcilier avec le type",
"core-recon/against-type": "Réconcilier avec le type:",
"core-recon/recon-col": "Réconcilier la colonne",
"core-recon/cell-type": "Réconcilier chaque cellule avec une entité de lun de ces types",
"core-recon/cell-type": "Réconcilier chaque cellule avec une entité de lun de ces types:",
"core-recon/wd-recon-lang": "fr",
"core-recon/service-api": "Service API",
"core-recon/max-candidates": "Nombre maximal de candidats renvoyés",
"core-recon/no-type": "Réconcilier sans type particulier",
"core-recon/col-detail": "Utiliser également les détails pertinents des autres colonnes",
"core-recon/col-detail": "Utiliser également les détails pertinents des autres colonnes:",
"core-recon/as-property": "Comme propriété",
"core-recon/pick-service": "Choisir un service ou une extension à gauche",
"core-recon/include": "Inclure",
@ -393,26 +389,23 @@
"core-recon/contact-service": "Connexion au service de réconciliation",
"core-recon/enter-url": "Indiquer lURL du service",
"core-util-enc/all": "Tous les encodages",
"core-util-enc/years-ago": "années avant",
"core-util-enc/week-ago": "semaine dernière",
"core-util-enc/years-ago": "{{plural $1|année dernière|années avant}}",
"core-util-enc/working": "Veuillez patienter",
"core-util-enc/encoding": "Encodage",
"core-util-enc/months-ago": "mois avant",
"core-util-enc/yesterday": "hier",
"core-util-enc/months-ago": "{{plural $1|mois dernier|$1 mois avant}}",
"core-util-enc/yesterday": "hier $1",
"core-util-enc/invalid-date": "Chaîne de date incorrecte",
"core-util-enc/days-ago": "jours avant",
"core-util-enc/days-ago": "$1 jours avant",
"core-util-enc/common": "Encodage courants",
"core-util-enc/month-ago": "mois dernier",
"core-util-enc/year-ago": "année dernière",
"core-util-enc/select-enc": "Choisir lencodage",
"core-util-enc/weeks-ago": "semaines avant",
"core-util-enc/today": "aujourdhui",
"core-util-enc/weeks-ago": "{{plural $1|semaine dernière|$1 semaines avant}}",
"core-util-enc/today": "aujourdhui $1",
"core-util-enc/aliases": "Alias",
"core-views/all": "Toutes",
"core-views/custom-facet": "Facette personnalisée sur la colonne",
"core-views/copy-recon-judg": "Copier les correspondances depuis la colonne",
"core-views/to-date": "En date",
"core-views/hist-entries": "Date d'action de jugement",
"core-views/hist-entries": "$1: date d'action de jugement",
"core-views/text": "texte",
"core-views/match-identical": "Apparier toutes les cellules identiques",
"core-views/join-cells": "Joindre les cellules multivaluées",
@ -428,7 +421,6 @@
"core-views/url-fetch": "Indiquer les URL à moissonner :",
"core-views/previous": "précédente",
"core-views/smallest-first": "croissant",
"core-views/several-col": "en plusieurs colonnes",
"core-views/warning-col-name": "Vous devez indiquer un nom de colonne.",
"core-views/match-this": "Apparier seulement cette cellule",
"core-views/one-topic": "Créer un nouveau sujet pour les cellules similaires",
@ -439,6 +431,7 @@
"core-views/rename-col": "Renommer cette colonne",
"core-views/facet-empty-string": "Facette par chaîne vide",
"core-views/by-judg": "Par avis",
"core-views/judgment": "$1: avis",
"core-views/scatterplot-facet": "Facette de nuage de points",
"core-views/contain-val": "(contenant les valeurs des cellules dorigine)",
"core-views/hide": "Cacher",
@ -453,7 +446,7 @@
"core-views/spec-new-name": "Merci dindiquer le nom de la nouvelle colonne des clés.",
"core-views/qa-results": "Résultats AQ",
"core-views/apply-to-cell": "Appliquer aux cellules étudiées",
"core-views/matched": "appariée",
"core-views/recon-stats": "$1 appariée, $2 nouveau, $3 à réconcilier",
"core-views/case-sensitive": "sensible à la casse",
"core-views/clear-recon2": "Effacer les données de réconciliation dans cette colonne pour toutes les lignes actuellement filtrées",
"core-views/times-chang": "fois maximum, tant que les données changent",
@ -477,7 +470,7 @@
"core-views/re-trans": "Retransformer",
"core-views/discard-judg": "Rejeter les avis de réconciliation",
"core-views/blank-out": "En valeurs nulles",
"core-views/best-cand-type-match": "Meilleure correspondance de type des candidats ?",
"core-views/best-cand-type-match": "$1: meilleure correspondance de type des candidats ?",
"core-views/sort-by-col": "trier selon cette seule colonne",
"core-views/enter-col-name": "Indiquer le nom de la nouvelle colonne",
"core-views/text-facet": "Facette textuelle",
@ -500,10 +493,10 @@
"core-views/unstar-rows": "Désétoiler les lignes",
"core-views/move-to-right": "Déplacer la colonne à droite",
"core-views/reorder-perma": "Retrier les lignes de façon permanente",
"core-views/new": "nouveau",
"core-views/qa-facets": "Facettes d'AQ",
"core-views/custom-numeric": "Facette numérique personnalisée",
"core-views/best-type": "Types de meilleurs candidats",
"core-views/best-cand-types": "$1: types de meilleurs candidats",
"core-views/custom-text-facet": "Facette textuelle personnalisée",
"core-views/match-other": "Apparier les autres cellules avec le même contenu",
"core-views/search-fb-topic": "Chercher un item qui correspond à toutes les cellules filtrées :",
@ -516,7 +509,7 @@
"core-views/columnize": "Convertir en liste les colonnes de clé/valeur",
"core-views/add-col-fetch": "Ajouter une colonne en moissonnant les données depuis les URL dune colonne",
"core-views/facet-blank": "Facette par valeur vide (valeurs nulles ou chaîne vide)",
"core-views/best-cand-edit-dist": "meilleure distance dédition du nom des candidats",
"core-views/best-cand-edit-dist": "$1: meilleure distance dédition du nom des candidats",
"core-views/spec-separator": "Merci dindiquer le séparateur entre les noms de colonnes originales et les valeurs des cellules.",
"core-views/milli": "millisecondes",
"core-views/cluster-edit": "Grouper et éditer",
@ -552,7 +545,6 @@
"core-views/split-into-col": "Diviser en plusieurs colonnes",
"core-views/cache-responses": "Mettre les réponses en cache",
"core-views/boolean": "booléen",
"core-views/to-be-recon": "à réconcilier",
"core-views/copy-recon": "Copier les données de réconciliation…",
"core-views/judg-hist": "Date d'action de jugement",
"core-views/expand-all": "Déplier toutes les colonnes",
@ -580,10 +572,10 @@
"core-views/common-transform": "Transformations courantes",
"core-views/reg-exp": "expression rationnelle",
"core-views/edit-col": "Éditer les colonnes",
"core-views/judg-actions2": "Type d'action de jugement",
"core-views/judg-actions2": "$1: type d'action de jugement",
"core-views/note-col": "Colonne des commentaires (facultatif)",
"core-views/cannot-same": "Si indiqué, la colonne des commentaires ne peut pas être la même que la colonne des clés ou celle des valeurs.",
"core-views/split-col": "Diviser la colonne",
"core-views/split-col": "Diviser la colonne $1 en plusieurs colonnes",
"core-views/http-headers": "Entêtes HTTP à utiliser pour la récupération d'URLs :",
"core-views/match-cell": "Apparier cette cellule",
"core-views/warning-no-length": "Aucune longueur de champ na été indiquée.",
@ -620,7 +612,7 @@
"core-views/text-filter": "Filtrer le texte",
"core-views/warning-no-property": "Veuillez d'abord sélectionner une propriété.",
"core-views/how-split-cells": "Comment diviser des cellules à plusieurs valeurs",
"core-views/best-cand-score": "meilleur score des candidats",
"core-views/best-cand-score": "$1: meilleur score des candidats",
"core-views/sel-col-val": "Merci de choisir une colonne pour les clés et une colonne différente pour les valeurs.",
"core-views/what-separator": "Quel séparateur sépare actuellement les valeurs ?",
"core-views/new-col-name": "Nouveau nom de colonne",
@ -633,7 +625,7 @@
"core-views/sort-by": "Trier par",
"core-views/ignore-blank": "Ignorer les cellules vides",
"core-views/transp-cell": "Transposer les cellules au travers des colonnes en lignes",
"core-views/best-cand-name": "Meilleure correspondance de nom des candidats ?",
"core-views/best-cand-name": "$1: meilleure correspondance de nom des candidats ?",
"core-views/blanks": "Valeurs vides",
"core-views/copy-to-col": "Copier vers les colonnes",
"core-views/how-split": "Méthode de division de la colonne",
@ -646,7 +638,7 @@
"core-views/text-length-facet": "Facette longueur du texte",
"core-views/to-col": "Jusqu'à la colonne",
"core-views/collapse-right": "Masquer toutes les colonnes à droite",
"core-views/best-cand-word-sim": "meilleure similarité de mot du nom des candidat",
"core-views/best-cand-word-sim": "$1: meilleure similarité de mot du nom des candidat",
"core-views/set-blank": "vider la cellule",
"core-views/numeric-facet": "Facette numérique",
"core-views/edit-rows": "Éditer les lignes",
@ -672,7 +664,7 @@
"core-views/finding-info2": "Cocher « expression régulière » pour chercher des caractères spéciaux (sauts de lignes, tabulations…) ou des motifs complexes.",
"core-views/replacement-info": "Si l'option « expression régulière » est cochée et que le motif recherché contient des groupes délimités par des parenthèses, $0 renverra la chaîne complète correspondant au motif, et $1, $2… les 1er, 2e… groupes.",
"core-views/replace-dont-escape": "utiliser \\n pour les sauts de ligne, \\t pour les tabulations, \\\\n pour \\n, \\\\t pour \\t.",
"core-views/warning-regex": "Expression régulière invalide.",
"core-views/warning-regex": "Expression régulière invalide : $1",
"core-views/use-values-as-identifiers": "Utiliser des valeurs comme identifiants",
"core-views/use-values-as-identifiers2": "Marquer les cellules comme réconciliées avec leurs valeurs comme identifiants",
"core-views/choose-reconciliation-service": "Choisir un service de réconciliation",
@ -703,7 +695,7 @@
"core-buttons/add-std-svc": "Ajouter un service standard",
"core-buttons/enter": "Valider",
"core-buttons/transpose": "Transposer",
"core-buttons/start-recon": "Démarrer la réconciliation",
"core-buttons/start-recon": "Démarrer la réconciliation...",
"core-buttons/perform-op": "Lancer les opérations",
"core-buttons/copy": "Copier",
"core-buttons/update-preview": "Mettre à jour laperçu",

View File

@ -700,7 +700,7 @@
"core-views/finding-info2": "Jelölje meg a \"reguláris kifejezés\" opciót, ha különleges karakterekre (új sor, tabulátor...) vagy komplex mintára kíván keresni.",
"core-views/replacement-info": "Ha a \"reguláris kifejezések\" opció meg van jelölve, és a keresőkifejezésben zárójelekkel elválasztott csoportok vannak, a $0 a teljes illeszkedő szöveget, az $1, $2... az 1., 2.... csoportot adja vissza.",
"core-views/replace-dont-escape": "\\n az új sor, \\t a tabulátor; \\\\n, ha \\n-re, \\\\t, ha \\t-re keres.",
"core-views/warning-regex": "Érvénytelen reguláris kifejezés.",
"core-views/warning-regex": "Érvénytelen reguláris kifejezés : $1",
"core-views/use-values-as-identifiers": "Értékek használat azonosítóként",
"core-views/use-values-as-identifiers2": "Cellák jelölése összeegyeztetettként, a cellák értéke az azonosító",
"core-views/choose-reconciliation-service": "Összeegyeztetési szolgáltatás választása",

View File

@ -708,7 +708,7 @@
"core-views/finding-info2": "Controlla \"regular expression\" per trovare caratteri speciali (nuove righe, tabulazioni...) o pattern complessi.",
"core-views/replacement-info": "Se l'opzione \"regular expression\" è attiva e il pattern da ricercare contiene gruppi delimitati da parentesi, $0 ritornerà la stringa completa riscontrata dal pattern, e $1, $2, ... il primo, secondo, ... gruppo rispettivamente.",
"core-views/replace-dont-escape": "usa \\n per nuova riga, \\t per tabulazione, \\\\n per \\n, \\\\t per \\t.",
"core-views/warning-regex": "Espressione regolare invalida.",
"core-views/warning-regex": "Espressione regolare invalida : $1",
"core-views/use-values-as-identifiers": "Usa valori come identificativi",
"core-views/use-values-as-identifiers2": "Marca celle come riconciliate usando i loro valori come identificativi",
"core-views/choose-reconciliation-service": "Scegliere servizio di riconciliazione",

View File

@ -671,7 +671,7 @@
"core-views/finding-info2": "改行などの特殊文字や複雑なパターンを検索する場合は正規表現が使えます.",
"core-views/replacement-info": "正規表現に()を使ったグループがある場合、$0がマッチ全体を、$1,$2…が各グループを返します.",
"core-views/replace-dont-escape": "改行文字には\\n、タブ文字には\\tを使います。「\\n」や「\\t」を検索するには「\\\\n」や「\\\\t」を使いますエスケープ文字.",
"core-views/warning-regex": "正規表現が無効です.",
"core-views/warning-regex": "正規表現が無効です : $1",
"core-buttons/unselect-all": "全選択解除",
"core-buttons/merge-close": "マージして閉じる",
"core-buttons/import-proj": "インポート",

View File

@ -704,7 +704,7 @@
"core-views/finding-info2": "Verificar \"expressão regular\" para encontrar caracteres especiais (novas linhas, tabulações...) ou padrões complexos.",
"core-views/replacement-info": "Se a opção \"expressão regular\" estiver marcada e o padrão de busca contiver grupos delimitados por parênteses, $0 retornará o texto completo coincidindo com o padrão, e $1, $2… o 1º, 1º… grupo.",
"core-views/replace-dont-escape": "use \\n para novas linhas, \\t para tabulação, \\\\n para \\n, \\\\t para \\t.",
"core-views/warning-regex": "Expressão regular inválida.",
"core-views/warning-regex": "Expressão regular inválida : $1",
"core-views/use-values-as-identifiers": "Usar valores como identificadores",
"core-views/use-values-as-identifiers2": "Marcar células como reconciliadas com seus valores como identificadores",
"core-views/choose-reconciliation-service": "Escolher um serviço de reconciliação",

View File

@ -43,8 +43,8 @@ ScatterplotDialog.prototype._createDialog = function() {
var dialog = $(DOM.loadHTML("core", "scripts/dialogs/scatterplot-dialog.html"));
this._elmts = DOM.bind(dialog);
this._elmts.dialogHeader.text(
$.i18n('core-dialogs/scatterplot-matrix') +
((typeof this._column == "undefined") ? "" : " ("+$.i18n('core-dialogs/focusing-on')+" '" + this._column + "')"));
$.i18n('core-dialogs/scatterplot-matrix') +
((typeof this._column == "undefined") ? "" : $.i18n('core-dialogs/focusing-on-column', this._column)));
this._elmts.closeButton.click(function() { self._dismiss(); });
this._elmts.or_dialog_linplot.attr("title", $.i18n('core-dialogs/linear-plot'));
@ -192,7 +192,7 @@ ScatterplotDialog.prototype._renderMatrix = function() {
};
var load_image = function(data) {
var img = $(data.images[data.index]);
var img = $(data.images[data.index]);
var src2 = img.attr("src2");
if (src2) {
img.attr("src", src2);

View File

@ -133,8 +133,7 @@ $(function() {
function(data) {
OpenRefineVersion = data;
$("#openrefine-version").text($.i18n('core-index/version')+" " + OpenRefineVersion.full_version);
$("#openrefine-version").text($.i18n('core-index/version', OpenRefineVersion.full_version));
$.getJSON("https://api.github.com/repos/openrefine/openrefine/releases/latest",
function( data ) {
@ -157,7 +156,7 @@ $(function() {
.addClass('notification-action')
.attr("href", latestVersionUrl)
.attr("target", "_blank")
.text($.i18n('core-index/download')+' ' + latestVersionName + ' '+$.i18n('core-index/now')+'.')
.text($.i18n('core-index/download-now', latestVersionName))
.appendTo(notification);
}
});

View File

@ -222,10 +222,10 @@ Refine.CreateProjectUI.prototype.pollImportJob = function(start, jobID, timerID,
if (secondsRemaining > 1) {
if (secondsRemaining > 60) {
$('#create-project-progress-timing').text(
Math.ceil(secondsRemaining / 60) + " "+$.i18n('core-index-create/min-remaining'));
$.i18n('core-index-create/min-remaining', Math.ceil(secondsRemaining / 60)));
} else {
$('#create-project-progress-timing').text(
Math.ceil(secondsRemaining) + " "+$.i18n('core-index-create/sec-remaining'));
$.i18n('core-index-create/sec-remaining', Math.ceil(secondsRemaining) ));
}
} else {
$('#create-project-progress-timing').text($.i18n('core-index-create/almost-done'));
@ -236,8 +236,8 @@ Refine.CreateProjectUI.prototype.pollImportJob = function(start, jobID, timerID,
}
$('#create-project-progress-message').text(progress.message);
if ('memory' in progress) {
var percent = progress.memory * 100.0 / progress.maxmemory;
$('#create-project-progress-memory').text($.i18n('core-index-create/memory-usage')+" "+percent.toFixed()+'% ('+progress.memory+'/'+progress.maxmemory+"MB)");
var percent = Math.ceil(progress.memory * 100.0 / progress.maxmemory);
$('#create-project-progress-memory').text($.i18n('core-index-create/memory-usage', percent, progress.memory, progress.maxmemory));
if (percent > 90) {
$('#create-project-progress-memory').addClass('warning');
} else {

View File

@ -220,7 +220,7 @@ Refine.OpenProjectUI.prototype._renderProjects = function(data) {
.attr("href","")
.html("<img src='images/close.png' />")
.click(function() {
if (window.confirm($.i18n('core-index-open/del-body') + project.name + "\"?")) {
if (window.confirm($.i18n('core-index-open/del-body', project.name))) {
Refine.postCSRF(
"command/core/delete-project",
{ "project" : project.id },

View File

@ -153,9 +153,9 @@ ProcessPanel.prototype._render = function(newData) {
var process = processes[i];
if (process.status != "pending") {
// TODO: We should be using formatting, not string concatenation here
Refine.setTitle(process.progress + "% "+$.i18n('core-project/complete'));
Refine.setTitle($.i18n('core-project/percent-complete', process.progress));
this._elmts.progressDescription.text(process.description);
this._elmts.progressSpan.text(process.progress + '% '+$.i18n('core-project/complete'));
this._elmts.progressSpan.text($.i18n('core-project/percent-complete', process.progress));
}
if ("onDone" in process) {
newProcessMap[process.id] = process;
@ -164,13 +164,13 @@ ProcessPanel.prototype._render = function(newData) {
if (processes.length > 1) {
var pending = processes.length - 1;
this._elmts.countSpan.text('(' + pending + (pending > 1 ? ' '+$.i18n('core-project/other-processes')+')' : ' '+$.i18n('core-project/other-process')+')'));
this._elmts.countSpan.text($.i18n('core-project/other-processes', pending));
} else {
this._elmts.countSpan.empty();
}
this._elmts.cancelLink
.unbind()
.text(processes.length > 1 ? $.i18n('core-project/cancel-all') : $.i18n('core-project/cancel'))
.text($.i18n('core-project/cancel-all', processes.length))
.click(function() {
self._cancelAll();
$(this).text($.i18n('core-project/canceling')).unbind();
@ -196,10 +196,10 @@ ProcessPanel.prototype._render = function(newData) {
}).join('\n');
if (this._data.processes.length == 0) {
window.alert($.i18n('core-project/last-op-er')+':\n' + messages);
window.alert($.i18n('core-project/last-op-er')+'\n' + messages);
} else {
if (window.confirm($.i18n('core-project/last-op-er')+':\n' + messages +
'\n\n'+$.i18n('core-project/continue-remaining')+'?')) {
if (window.confirm($.i18n('core-project/last-op-er')+'\n' + messages +
'\n\n'+$.i18n('core-project/continue-remaining'))) {
Refine.postCSRF(
"command/core/apply-operations?" + $.param({ project: theProject.id }),
{ operations: '[]' },

View File

@ -2,7 +2,8 @@
<div class="grid-layout layout-normal layout-full grid-layout-for-ui"><table>
<tr>
<td colspan="2" style="text-align: right;">
<span bind="or_proc_access"></span> <a href="" target="_blank" bind="rawServiceLink"></a>
<a href="" target="_blank" bind="rawServiceLink"><span bind="or_proc_access"></span>
<span class="ui-icon ui-icon-link" style="display: inline-block"></span></a>
</td>
</tr>
<tr>

View File

@ -84,11 +84,10 @@ ReconStandardServicePanel.prototype._constructUI = function() {
this._panel = $(DOM.loadHTML("core", "scripts/reconciliation/standard-service-panel.html")).appendTo(this._container);
this._elmts = DOM.bind(this._panel);
this._elmts.or_proc_access.html("&raquo; "+$.i18n('core-recon/access'));
this._elmts.rawServiceLink.html($.i18n('core-recon/service-api'));
this._elmts.or_proc_cellType.html($.i18n('core-recon/cell-type')+":");
this._elmts.or_proc_colDetail.html($.i18n('core-recon/col-detail')+":");
this._elmts.or_proc_againstType.html($.i18n('core-recon/against-type')+":");
this._elmts.or_proc_access.html($.i18n('core-recon/access-service'));
this._elmts.or_proc_cellType.html($.i18n('core-recon/cell-type'));
this._elmts.or_proc_colDetail.html($.i18n('core-recon/col-detail'));
this._elmts.or_proc_againstType.html($.i18n('core-recon/against-type'));
this._elmts.or_proc_noType.html($.i18n('core-recon/no-type'));
this._elmts.or_proc_autoMatch.html($.i18n('core-recon/auto-match'));
this._elmts.or_proc_max_candidates.html($.i18n('core-recon/max-candidates'));

View File

@ -64,22 +64,22 @@ function formatRelativeDate(d) {
var tomorrow = Date.today().add({ days: 1 });
if (d.between(today, tomorrow)) {
return $.i18n('core-util-enc/today')+" " + d.toString("h:mm tt");
return $.i18n('core-util-enc/today', d.toString("h:mm tt"));
} else if (d.between(last_week, today)) {
var diff = Math.floor(today.getDayOfYear() - d.getDayOfYear());
return (diff <= 1) ? ($.i18n('core-util-enc/yesterday')+" " + d.toString("h:mm tt")) : (diff + " "+$.i18n('core-util-enc/days-ago'));
return (diff <= 1) ? ($.i18n('core-util-enc/yesterday', d.toString("h:mm tt"))) : $.i18n('core-util-enc/days-ago', diff);
} else if (d.between(last_month, today)) {
var diff = Math.floor((today.getDayOfYear() - d.getDayOfYear()) / 7);
if (diff < 1) {diff += 52};
return (diff == 1) ? $.i18n('core-util-enc/week-ago') : diff.toFixed(0) + " "+$.i18n('core-util-enc/weeks-ago') ;
return $.i18n('core-util-enc/week-agos', diff) ;
} else if (d.between(almost_last_year, today)) {
var diff = today.getMonth() - d.getMonth();
if (diff < 1) {
diff += 12;
}
return (diff == 1) ? $.i18n('core-util-enc/month-ago') : diff + " "+ $.i18n('core-util-enc/months-ago');
return $.i18n('core-util-enc/months-ago', diff);
} else {
var diff = Math.floor(today.getYear() - d.getYear());
return (diff == 1) ? $.i18n('core-util-enc/year-ago') : diff + " "+$.i18n('core-util-enc/years-ago');
return $.i18n('core-util-enc/years-ago', diff);
}
}

View File

@ -76,7 +76,7 @@ DataTableColumnHeaderUI.prototype._render = function() {
var newPercent = Math.ceil(100 * stats.newTopics / stats.nonBlanks);
var matchPercent = Math.ceil(100 * stats.matchedTopics / stats.nonBlanks);
var unreconciledPercent = Math.ceil(100 * (stats.nonBlanks - stats.matchedTopics - stats.newTopics) / stats.nonBlanks);
var title = matchPercent + "% "+$.i18n('core-views/matched')+", " + newPercent + "% "+$.i18n('core-views/new')+", " + unreconciledPercent + "% "+$.i18n('core-views/to-be-recon');
var title = $.i18n('core-views/recon-stats', matchPercent, newPercent, unreconciledPercent);
var whole = $('<div>')
.addClass("column-header-recon-stats-bar")

View File

@ -145,13 +145,13 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
// but javascript Regexp accepts it and auto escape it
var pos = p.replace(/\\\//g,'').indexOf("/");
if (pos != -1) {
alert($.i18n('core-views/warning-regex') + " : " + p);
alert($.i18n('core-views/warning-regex',p));
return 0;}
try {
var pattern = new RegExp(p);
return 1;
} catch (e) {
alert($.i18n('core-views/warning-regex') + " : " + p);
alert($.i18n('core-views/warning-regex', p));
return 0;}
}
function escapeInputString(s) {

View File

@ -259,7 +259,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
var doSplitColumn = function() {
var frame = $(DOM.loadHTML("core", "scripts/views/data-table/split-column-dialog.html"));
var elmts = DOM.bind(frame);
elmts.dialogHeader.text($.i18n('core-views/split-col')+" " + column.name + " "+$.i18n('core-views/several-col'));
elmts.dialogHeader.text($.i18n('core-views/split-col', column.name));
elmts.or_views_howSplit.text($.i18n('core-views/how-split'));
elmts.or_views_bySep.text($.i18n('core-views/by-sep'));

View File

@ -298,7 +298,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
MenuSystem.appendTo(menu, [ "core/reconcile" ], [
{
id: "core/reconcile",
label: $.i18n('core-views/start-recon')+'...',
label: $.i18n('core-views/start-recon'),
tooltip: $.i18n('core-views/recon-text-fb'),
click: doReconcile
},
@ -314,7 +314,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"list",
{
"name" : column.name + ": judgment",
"name" : $.i18n("core-views/judgment", column.name),
"columnName" : column.name,
"expression" : 'forNonBlank(cell.recon.judgment, v, v, if(isNonBlank(value), "(unreconciled)", "(blank)"))'
},
@ -331,7 +331,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"list",
{
"name" : column.name + " "+$.i18n('core-views/judg-actions2'),
"name" : $.i18n('core-views/judg-actions2', column.name),
"columnName" : column.name,
"expression" : "cell.recon.judgmentAction"
}
@ -345,7 +345,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"list",
{
"name" : column.name + " "+$.i18n('core-views/hist-entries'),
"name" : $.i18n('core-views/hist-entries', column.name),
"columnName" : column.name,
"expression" : "cell.recon.judgmentHistoryEntry"
}
@ -360,7 +360,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"range",
{
"name" : column.name + ": "+$.i18n('core-views/best-cand-score'),
"name" : $.i18n('core-views/best-cand-score', column.name),
"columnName" : column.name,
"expression" : "cell.recon.best.score",
"mode" : "range"
@ -377,7 +377,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"list",
{
"name" : column.name + ": "+$.i18n('core-views/best-cand-type-match'),
"name" : $.i18n('core-views/best-cand-type-match', column.name),
"columnName" : column.name,
"expression" : 'forNonBlank(cell.recon.features.typeMatch, v, v, if(isNonBlank(value), if(cell.recon != null, "(no type)", "(unreconciled)"), "(blank)"))'
},
@ -394,7 +394,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"list",
{
"name" : column.name + ": "+ $.i18n('core-views/best-cand-name'),
"name" : $.i18n('core-views/best-cand-name', column.name),
"columnName" : column.name,
"expression" : 'forNonBlank(cell.recon.features.nameMatch, v, v, if(isNonBlank(value), "(unreconciled)", "(blank)"))'
},
@ -412,7 +412,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"range",
{
"name" : column.name + ": "+$.i18n('core-views/best-cand-edit-dist'),
"name" : $.i18n('core-views/best-cand-edit-dist', column.name),
"columnName" : column.name,
"expression" : "cell.recon.features.nameLevenshtein",
"mode" : "range"
@ -429,7 +429,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"range",
{
"name" : column.name + ": "+$.i18n('core-views/best-cand-word-sim'),
"name" : $.i18n('core-views/best-cand-word-sim', column.name),
"columnName" : column.name,
"expression" : "cell.recon.features.nameWordDistance",
"mode" : "range"
@ -447,7 +447,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
ui.browsingEngine.addFacet(
"list",
{
"name" : column.name + ": best candidate's types",
"name" : $.i18n("core-views/best-cand-types", column.name),
"columnName" : column.name,
"expression" : 'forNonBlank(cell.recon.best.type, v, v, if(isNonBlank(value), "(unreconciled)", "(blank)"))'
}