Replace Javascript string concatenation with i18n parameters - addresses ()

* Replace js string concatenation with i18n parameters

refs 
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)"))'
}