mirror of
https://github.com/ONLYOFFICE/onlyoffice.github.io.git
synced 2026-02-10 18:05:06 +08:00
Merge branch hotfix/v5.6.0 into master
This commit is contained in:
24
README.md
24
README.md
@ -1,25 +1,13 @@
|
||||
# OCR plugin
|
||||
## Overview
|
||||
|
||||
The OCR plugin allows users to recognize text in pictures (.png and .jpg formats) and insert it into documents.
|
||||
Recognize text from pictures and screenshots and insert it into your documents with multilingual OCR.
|
||||
|
||||
The plugin uses [Tesseract.js](https://tesseract.projectnaptha.com/) and supports more than 60 languages.
|
||||
|
||||
The plugin is pre-installed in ONLYOFFICE Enterprise Edition, Community Edition (Document Server + Community Server), ONLYOFFICE Integration Edition, ONLYOFFICE cloud service, and ONLYOFFICE Personal.
|
||||
It is installed by default in cloud, [self-hosted](https://github.com/ONLYOFFICE/DocumentServer) and [desktop version](https://github.com/ONLYOFFICE/DesktopEditors) of ONLYOFFICE editors.
|
||||
|
||||
## How to use
|
||||
|
||||
1. Choose OCR from the Plugins tab.
|
||||
2. Load the necessary image.
|
||||
3. Select the text language from the drop-down list.
|
||||
4. Click the Recognize button.
|
||||
5. Click the Insert Text button.
|
||||
|
||||
## Documentation
|
||||
|
||||
Plugins structure and installation https://api.onlyoffice.com/plugin/basic.
|
||||
|
||||
Plugins code and methods https://api.onlyoffice.com/docbuilder/basic.
|
||||
|
||||
## User feedback and support
|
||||
|
||||
To ask questions and share feedback, use Issues in this repository.
|
||||
1. Find the OCR plugin in the Plugins tab, click on it and press start.
|
||||
2. Load the image with text you want to insert into you doc.
|
||||
3. Choose the language and press Recognize.
|
||||
|
||||
94
config.json
Normal file
94
config.json
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
"name": "OCR",
|
||||
"nameLocale": {
|
||||
"ru": "Распознавание текста",
|
||||
"fr": "Reconnaissance optique de caractères",
|
||||
"es": "Reconocimiento óptico de caracteres",
|
||||
"de": "OCR"
|
||||
},
|
||||
"guid": "asc.{440EBF13-9B19-4BD8-8621-05200E58140B}",
|
||||
"baseUrl": "",
|
||||
|
||||
"variations": [
|
||||
{
|
||||
"description": "OCR",
|
||||
"descriptionLocale": {
|
||||
"ru": "Распознавание текста",
|
||||
"fr": "Reconnaissance optique de caractères",
|
||||
"es": "Reconocimiento óptico de caracteres",
|
||||
"de": "OCR"
|
||||
},
|
||||
"url": "index.html",
|
||||
|
||||
"icons": [ "icon.png", "icon@2x.png", "icon2.png", "icon2@2x.png" ],
|
||||
"isViewer": false,
|
||||
"EditorsSupport": [ "word" ],
|
||||
|
||||
"isVisual": true,
|
||||
"isModal": true,
|
||||
"isInsideMode": false,
|
||||
|
||||
"initDataType": "none",
|
||||
"initData": "",
|
||||
|
||||
"isUpdateOleOnResize": false,
|
||||
|
||||
"buttons": [
|
||||
{
|
||||
"text": "Insert Text",
|
||||
"primary": true,
|
||||
"textLocale": {
|
||||
"ru": "Вставить текст",
|
||||
"fr": "Insérer le texte",
|
||||
"es": "Insertar texto",
|
||||
"de": "Text einfügen"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text": "Cancel",
|
||||
"primary": false,
|
||||
"textLocale": {
|
||||
"ru": "Отмена",
|
||||
"fr": "Annuler",
|
||||
"es": "Cancelar",
|
||||
"de": "Abbrechen"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"size": [ 592, 100 ]
|
||||
},
|
||||
{
|
||||
"description": "About",
|
||||
"descriptionLocale": {
|
||||
"ru": "Справка",
|
||||
"fr": "À propos",
|
||||
"es": "Sobre programa",
|
||||
"de": "Über"
|
||||
},
|
||||
"url": "index_about.html",
|
||||
|
||||
"icons": [ "icon.png", "icon@2x.png", "icon2.png", "icon2@2x.png" ],
|
||||
"isViewer": false,
|
||||
"EditorsSupport": [ "word" ],
|
||||
|
||||
"isVisual": true,
|
||||
"isModal": true,
|
||||
"isInsideMode": false,
|
||||
|
||||
"initDataType": "none",
|
||||
"initData": "",
|
||||
|
||||
"isUpdateOleOnResize": false,
|
||||
|
||||
"buttons": [
|
||||
{
|
||||
"text": "Ok",
|
||||
"primary": true
|
||||
}
|
||||
],
|
||||
|
||||
"size": [ 392, 147 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
icon2@2x.png
Normal file
BIN
icon2@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
BIN
icon@2x.png
Normal file
BIN
icon@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
144
index.html
Normal file
144
index.html
Normal file
@ -0,0 +1,144 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<head>
|
||||
<meta charset='UTF-8'>
|
||||
<title>OCR</title>
|
||||
<script type="text/javascript" src="https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.js"></script>
|
||||
<script type="text/javascript" src="https://onlyoffice.github.io/sdkjs-plugins/v1/plugins-ui.js"></script>
|
||||
<link rel="stylesheet" href="https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.css">
|
||||
<script type='text/javascript' src='ocr.js'></script>
|
||||
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js'></script>
|
||||
<script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.7/dist/tesseract.js'></script>
|
||||
<link rel="stylesheet" href="select2-4.0.6-rc.1/dist/css/select2.css"/>
|
||||
<script src="select2-4.0.6-rc.1/dist/js/select2.js"></script>
|
||||
</head>
|
||||
|
||||
<style>
|
||||
label{
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
div{
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
html{
|
||||
height: 100%;
|
||||
}
|
||||
button{
|
||||
width: 125px;
|
||||
}
|
||||
.disabled {
|
||||
color: darkgrey;
|
||||
}
|
||||
|
||||
#lang-select {
|
||||
background: #fff;
|
||||
border: 1px solid #cfcfcf;
|
||||
border-radius: 2px;
|
||||
color: #444444;
|
||||
font-size: 11px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
height: 22px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#lang-select[disabled],
|
||||
#lang-select.disabled {
|
||||
opacity: 0.65;
|
||||
}
|
||||
|
||||
</style>
|
||||
<body style="box-sizing:border-box; width: 100%; height: 100%; margin: 0; padding-left: 22px; background: #F7F7F7;">
|
||||
<div style="height: 100%; width: 100%">
|
||||
<div style="height: 99px">
|
||||
<label class="noselect" style="display: inline-block; margin-top: 15px; margin-bottom: 22px" id="label1">Tesseract.js lets recognize text in pictures (png, jpg)</label><br>
|
||||
<div class="noselect">
|
||||
<div style="margin-right: 0px; width: 175px; overflow: visible;">
|
||||
<button class="btn-text-default" id="load-file-button-id">Load File</button><br>
|
||||
<label disabled class="noselect disabled" style="overflow-x: visible" id="file-name-label"></label>
|
||||
<input style="display: none" type="file" id="images-input" multiple accept='image/jpeg,image/png' />
|
||||
</div>
|
||||
</div>
|
||||
<div class="noselect" style="margin-right: 22px">
|
||||
<label class="noselect" id="label2">Choose language</label>
|
||||
<select name = 'lang_combo' disabled class="noselect" id='lang-select' style="width: 125px">
|
||||
<option value = 'eng'>English</option>
|
||||
<option value = 'chi_sim'>Chinese</option>
|
||||
<option value = 'rus'>Russian</option>
|
||||
<option value = 'meme'>Meme</option>
|
||||
<option value = 'tha'>Thai</option>
|
||||
<option value = 'deu'>German</option>
|
||||
<option value = 'jpn'>Japanese</option>
|
||||
<option value = 'spa'>Spanish</option>
|
||||
<option value = 'fra'>French</option>
|
||||
<option value = 'por'>Portuguese</option>
|
||||
<option value = 'ita'>Italian</option>
|
||||
<option value = 'pol'>Polish</option>
|
||||
<option value = 'tur'>Turkish</option>
|
||||
<option value = 'nld'>Dutch</option>
|
||||
<option value = 'ara'>Arabic</option>
|
||||
<option value = 'ces'>Czech</option>
|
||||
<option value = 'kor'>Korean</option>
|
||||
<option value = 'swe'>Swedish</option>
|
||||
<option value = 'vie'>Vietnamese</option>
|
||||
<option value = 'ron'>Romanian</option>
|
||||
<option value = 'ell'>Greek</option>
|
||||
<option value = 'ind'>Indonesian</option>
|
||||
<option value = 'hun'>Hungarian</option>
|
||||
<option value = 'dan'>Danish</option>
|
||||
<option value = 'bul'>Bulgarian</option>
|
||||
<option value = 'fin'>Finnish</option>
|
||||
<option value = 'nor'>Norwegian</option>
|
||||
<option value = 'ukr'>Ukrainian</option>
|
||||
<option value = 'cat'>Catalan</option>
|
||||
<option value = 'hrv'>Croatian</option>
|
||||
<option value = 'heb'>Hebrew</option>
|
||||
<option value = 'lit'>Lithuanian</option>
|
||||
<option value = 'slv'>Slovenian</option>
|
||||
<option value = 'hin'>Hindi</option>
|
||||
<option value = 'ben'>Bengali</option>
|
||||
<option value = 'tel'>Telugu</option>
|
||||
<option value = 'tam'>Tamil</option>
|
||||
<option value = 'kan'>Kannada</option>
|
||||
<option value = 'mal'>Malayalam</option>
|
||||
<option value = 'tgl'>Tagalog</option>
|
||||
<option value = 'swa'>Swahili</option>
|
||||
<option value = 'aze'>Azerbaijani</option>
|
||||
<option value = 'bel'>Belarusian</option>
|
||||
<option value = 'afr'>Afrikaans</option>
|
||||
<option value = 'sqi'>Albanian</option>
|
||||
<option value = 'eus'>Basque</option>
|
||||
<option value = 'epo'>Esperanto</option>
|
||||
<option value = 'est'>Estonian</option>
|
||||
<option value = 'glg'>Galician</option>
|
||||
<option value = 'isl'>Icelandic</option>
|
||||
<option value = 'lav'>Latvian</option>
|
||||
<option value = 'mkd'>Macedonian</option>
|
||||
<option value = 'msa'>Malay</option>
|
||||
<option value = 'mlt'>Maltese</option>
|
||||
<option value = 'grc'>Ancient Greek</option>
|
||||
<option value = 'chr'>Cherokee</option>
|
||||
<option value = 'enm'>English (Old)</option>
|
||||
<option value = 'frk'>Frankish</option>
|
||||
<option value = 'equ'>Math</option>
|
||||
<option value = 'srp'>Serbian (Latin)</option>
|
||||
<option value = 'slk'>Slovak</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="noselect">
|
||||
<button class="btn-text-default" id='recognize-button' disabled>Recognize</button><br>
|
||||
<label id="status-label" class="noselect disabled" ></label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="scrollable-image-text-div" style="position:absolute; display: none; height: calc(100% - 99px); width: calc(100% - 5px); position: relative; overflow: hidden">
|
||||
<div style="width: calc(50% - 20px); margin-right: 25px" id="image-container-div" class="noselect">
|
||||
|
||||
</div>
|
||||
<div id="text-container-div" style="width: calc(50% - 24px)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
71
index_about.html
Normal file
71
index_about.html
Normal file
@ -0,0 +1,71 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>About</title>
|
||||
<style>
|
||||
p, a{
|
||||
font-size: 12px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: darkgrey;
|
||||
}
|
||||
|
||||
/* visited link */
|
||||
a:visited {
|
||||
color: darkgrey;
|
||||
}
|
||||
|
||||
/* mouse over link */
|
||||
a:hover {
|
||||
color: #8d8d8d;
|
||||
}
|
||||
|
||||
/* selected link */
|
||||
a:active {
|
||||
color: darkgrey;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.Asc.plugin.init = function()
|
||||
{
|
||||
this.resizeWindow(392, 147, 392, 147, 392, 147);
|
||||
// none
|
||||
};
|
||||
|
||||
window.Asc.plugin.button = function(id)
|
||||
{
|
||||
this.executeCommand("close", "");
|
||||
};
|
||||
|
||||
window.Asc.plugin.onTranslate = function(){
|
||||
|
||||
var elem = document.getElementById("p1");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Tesseract.js Add-on");
|
||||
}
|
||||
elem = document.getElementById("p1");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Tesseract.js Add-on");
|
||||
}
|
||||
elem = document.getElementById("p2");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Tesseract.js is a pure javascript version of the <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> that recognize English, Chinese, Russian, Meme and 60 other languages.");
|
||||
}
|
||||
elem = document.getElementById("a1");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Source code");
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body style="padding-left: 20px; padding-right: 20px">
|
||||
<p style="font-size: 15px" id="p1">Tesseract.js Add-on</p>
|
||||
<p style="font-size: 12px" id="p2">Tesseract.js is a pure javascript version of the <a href="http://tesseract.projectnaptha.com" target="_blank">Tesseract OCR Engine</a> that recognize English, Chinese, Russian, Meme and 60 other languages.</p>
|
||||
<a href="https://github.com/ONLYOFFICE/sdkjs-plugins/tree/master/ocr" target="_blank" id="a1">Source code</a>
|
||||
</body>
|
||||
</html>
|
||||
350
ocr.js
Normal file
350
ocr.js
Normal file
@ -0,0 +1,350 @@
|
||||
(function(window, undefined){
|
||||
|
||||
var oLangMap = {};
|
||||
oLangMap['eng'] = "English";
|
||||
oLangMap['chi_sim'] = "Chinese";
|
||||
oLangMap['rus'] = "Russian";
|
||||
oLangMap['meme'] = "Meme";
|
||||
oLangMap['tha'] = "Thai";
|
||||
oLangMap['deu'] = "German";
|
||||
oLangMap['jpn'] = "Japanese";
|
||||
oLangMap['spa'] = "Spanish";
|
||||
oLangMap['fra'] = "French";
|
||||
oLangMap['por'] = "Portuguese";
|
||||
oLangMap['ita'] = "Italian";
|
||||
oLangMap['pol'] = "Polish";
|
||||
oLangMap['tur'] = "Turkish";
|
||||
oLangMap['nld'] = "Dutch";
|
||||
oLangMap['ara'] = "Arabic";
|
||||
oLangMap['ces'] = "Czech";
|
||||
oLangMap['kor'] = "Korean";
|
||||
oLangMap['swe'] = "Swedish";
|
||||
oLangMap['vie'] = "Vietnamese";
|
||||
oLangMap['ron'] = "Romanian";
|
||||
oLangMap['ell'] = "Greek";
|
||||
oLangMap['ind'] = "Indonesian";
|
||||
oLangMap['hun'] = "Hungarian";
|
||||
oLangMap['dan'] = "Danish";
|
||||
oLangMap['bul'] = "Bulgarian";
|
||||
oLangMap['fin'] = "Finnish";
|
||||
oLangMap['nor'] = "Norwegian";
|
||||
oLangMap['ukr'] = "Ukrainian";
|
||||
oLangMap['cat'] = "Catalan";
|
||||
oLangMap['hrv'] = "Croatian";
|
||||
oLangMap['heb'] = "Hebrew";
|
||||
oLangMap['lit'] = "Lithuanian";
|
||||
oLangMap['slv'] = "Slovenian";
|
||||
oLangMap['hin'] = "Hindi";
|
||||
oLangMap['ben'] = "Bengali";
|
||||
oLangMap['tel'] = "Telugu";
|
||||
oLangMap['tam'] = "Tamil";
|
||||
oLangMap['kan'] = "Kannada";
|
||||
oLangMap['mal'] = "Malayalam";
|
||||
oLangMap['tgl'] = "Tagalog";
|
||||
oLangMap['swa'] = "Swahili";
|
||||
oLangMap['aze'] = "Azerbaijani";
|
||||
oLangMap['bel'] = "Belarusian";
|
||||
oLangMap['afr'] = "Afrikaans";
|
||||
oLangMap['sqi'] = "Albanian";
|
||||
oLangMap['eus'] = "Basque";
|
||||
oLangMap['epo'] = "Esperanto";
|
||||
oLangMap['est'] = "Estonian";
|
||||
oLangMap['glg'] = "Galician";
|
||||
oLangMap['isl'] = "Icelandic";
|
||||
oLangMap['lav'] = "Latvian";
|
||||
oLangMap['mkd'] = "Macedonian";
|
||||
oLangMap['msa'] = "Malay";
|
||||
oLangMap['mlt'] = "Maltese";
|
||||
oLangMap['grc'] = "Ancient Greek";
|
||||
oLangMap['chr'] = "Cherokee";
|
||||
oLangMap['enm'] = "English (Old)";
|
||||
oLangMap['frk'] = "Frankish";
|
||||
oLangMap['equ'] = "Math";
|
||||
oLangMap['srp'] = "Serbian (Latin)";
|
||||
oLangMap['slk'] = "Slovak";
|
||||
|
||||
window.oncontextmenu = function(e)
|
||||
{
|
||||
if (e.preventDefault)
|
||||
e.preventDefault();
|
||||
if (e.stopPropagation)
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
};
|
||||
|
||||
function escapeHtml(string) {
|
||||
var res = string;
|
||||
res = res.replace(/[\', \", \\,]/g, function (sSymbol) {
|
||||
return '\\' + sSymbol;
|
||||
});
|
||||
return res;
|
||||
}
|
||||
|
||||
var arrParsedData = [];
|
||||
|
||||
window.Asc.plugin.init = function(){
|
||||
$('#lang-select').select2({
|
||||
minimumResultsForSearch: Infinity
|
||||
});
|
||||
this.resizeWindow(592, 100, 592, 100, 592, 100);
|
||||
var nStartFilesCount = 0, arrImages;
|
||||
|
||||
$( window ).resize(function(){
|
||||
updateScroll();
|
||||
});
|
||||
|
||||
function updateScroll(){
|
||||
Ps.update();
|
||||
}
|
||||
var container = document.getElementById('scrollable-image-text-div');
|
||||
Ps = new PerfectScrollbar("#" + container.id, {});
|
||||
$('#load-file-button-id').click(
|
||||
|
||||
function (e) {
|
||||
|
||||
if (window["AscDesktopEditor"])
|
||||
{
|
||||
window["AscDesktopEditor"]["OpenFilenameDialog"]("images", true, function(files) {
|
||||
arrImages = [];
|
||||
|
||||
if (!Array.isArray(files)) // string detect
|
||||
files = [files];
|
||||
|
||||
if (files.length == 0)
|
||||
return;
|
||||
|
||||
window.Asc.plugin.resizeWindow(800, 571, 800, 571);
|
||||
|
||||
var oImagesContainer = document.getElementById('image-container-div');
|
||||
while (oImagesContainer.firstChild) {
|
||||
oImagesContainer.removeChild(oImagesContainer.firstChild);
|
||||
}
|
||||
var oTextContainer = document.getElementById('text-container-div');
|
||||
while (oTextContainer.firstChild) {
|
||||
oTextContainer.removeChild(oTextContainer.firstChild);
|
||||
}
|
||||
|
||||
for (var i = 0; i < files.length; i++)
|
||||
{
|
||||
var oImgElement = document.createElement('img');
|
||||
oImgElement.src = window["AscDesktopEditor"]["GetImageBase64"](files[i], false);
|
||||
oImgElement.style.width = '100%';
|
||||
oImgElement.style.marginBottom = "10px";
|
||||
arrImages.push(oImgElement);
|
||||
oImagesContainer.appendChild(oImgElement);
|
||||
}
|
||||
|
||||
document.getElementById('lang-select').removeAttribute('disabled');
|
||||
document.getElementById('recognize-button').removeAttribute('disabled');
|
||||
nStartFilesCount = files.length;
|
||||
$('#status-label').text('');
|
||||
$('#scrollable-image-text-div').css('display', 'inline-block');
|
||||
updateScroll();
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$('#images-input').click();
|
||||
}
|
||||
);
|
||||
|
||||
$('#images-input').change(function(e) {
|
||||
var arrFiles = e.target.files;
|
||||
//check for images in file list
|
||||
var arrFiles2 = [];
|
||||
for(var i = 0; i < arrFiles.length; ++i){
|
||||
if(arrFiles[i] && arrFiles[i].type && arrFiles[i].type.indexOf('image') === 0){
|
||||
arrFiles2.push(arrFiles[i]);
|
||||
}
|
||||
else{
|
||||
alert(arrFiles[i].name + "\nOCR plugin cannot read this file.");
|
||||
}
|
||||
}
|
||||
arrFiles = arrFiles2;
|
||||
if(arrFiles.length > 0){
|
||||
window.Asc.plugin.resizeWindow(800, 571, 800, 571);
|
||||
|
||||
var oImagesContainer = document.getElementById('image-container-div');
|
||||
while (oImagesContainer.firstChild) {
|
||||
oImagesContainer.removeChild(oImagesContainer.firstChild);
|
||||
}
|
||||
var oTextContainer = document.getElementById('text-container-div');
|
||||
while (oTextContainer.firstChild) {
|
||||
oTextContainer.removeChild(oTextContainer.firstChild);
|
||||
}
|
||||
arrParsedData.length = 0;
|
||||
var oFileReader = new FileReader();
|
||||
var nIndex = 0;
|
||||
arrImages = [];
|
||||
$('#status-label').text('Loading images');
|
||||
oFileReader.onloadend = function() {
|
||||
var oImgElement = document.createElement('img');
|
||||
oImgElement.src = oFileReader.result;
|
||||
oImgElement.style.width = '100%';
|
||||
arrImages.push(oImgElement);
|
||||
oImagesContainer.appendChild(oImgElement);
|
||||
++nIndex;
|
||||
if(nIndex < arrFiles.length){
|
||||
oFileReader.readAsDataURL(arrFiles[nIndex]);
|
||||
$(oImgElement).css("margin-bottom", "10px");
|
||||
}
|
||||
else{
|
||||
document.getElementById('lang-select').removeAttribute('disabled');
|
||||
document.getElementById('recognize-button').removeAttribute('disabled');
|
||||
nStartFilesCount = arrImages.length;
|
||||
$('#status-label').text('');
|
||||
$('#scrollable-image-text-div').css('display', 'inline-block');
|
||||
|
||||
}
|
||||
updateScroll();
|
||||
};
|
||||
oFileReader.readAsDataURL(arrFiles[nIndex]);
|
||||
}
|
||||
});
|
||||
$('#recognize-button').click(
|
||||
function () {
|
||||
|
||||
var arrImagesCopy = [].concat(arrImages);
|
||||
for (var i = 0; i < arrImagesCopy.length; i++)
|
||||
{
|
||||
if (arrImagesCopy[i] && (0 == arrImagesCopy[i].naturalWidth) && (0 == arrImagesCopy[i].naturalHeight))
|
||||
{
|
||||
arrImagesCopy.splice(i, 1);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
if (0 == arrImagesCopy.length)
|
||||
return;
|
||||
|
||||
var oTextContainer = document.getElementById('text-container-div');
|
||||
while (oTextContainer.firstChild) {
|
||||
oTextContainer.removeChild(oTextContainer.firstChild);
|
||||
}
|
||||
arrParsedData.length = 0;
|
||||
document.getElementById('recognize-button').setAttribute('disabled', '');
|
||||
document.getElementById('lang-select').setAttribute('disabled', '');
|
||||
document.getElementById('load-file-button-id').setAttribute('disabled', '');
|
||||
var fTesseractCall = function(){
|
||||
Tesseract.recognize(arrImagesCopy.splice(0, 1)[0], {lang: $('#lang-select option:selected')[0].value}).progress(function (progress) {
|
||||
if(progress && progress.status === "recognizing text"){
|
||||
var nPercent = (100*(progress.progress + nStartFilesCount - arrImagesCopy.length - 1)/nStartFilesCount) >> 0;
|
||||
$('#status-label').text('Recognizing: '+ nPercent + '%');
|
||||
}
|
||||
}).catch(function(err){
|
||||
$('#status-label').text('');
|
||||
document.getElementById('recognize-button').removeAttribute('disabled');
|
||||
document.getElementById('lang-select').removeAttribute('disabled');
|
||||
document.getElementById('load-file-button-id').removeAttribute('disabled', '');
|
||||
|
||||
}).then(function(result){
|
||||
document.getElementById('text-container-div').appendChild($(result.html)[0]);
|
||||
arrParsedData.push(result);
|
||||
updateScroll();
|
||||
if(arrImagesCopy.length > 0){
|
||||
fTesseractCall();
|
||||
}
|
||||
else{
|
||||
$('#status-label').text('');
|
||||
document.getElementById('recognize-button').removeAttribute('disabled');
|
||||
document.getElementById('lang-select').removeAttribute('disabled');
|
||||
document.getElementById('load-file-button-id').removeAttribute('disabled', '');
|
||||
}
|
||||
});
|
||||
};
|
||||
$('#status-label').text('Recognizing: 0%');
|
||||
fTesseractCall();
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
window.Asc.plugin.button = function(id){
|
||||
if (id == 0){
|
||||
var sScript = '';
|
||||
sScript += 'var oDocument = Api.GetDocument();';
|
||||
sScript += '\nvar oParagraph, oRun, arrInsertResult = [], oTextPr;';
|
||||
|
||||
for(var i = 0; i < arrParsedData.length; ++i){
|
||||
var oCurData = arrParsedData[i];
|
||||
for(var j = 0; j < oCurData.paragraphs.length; ++j){
|
||||
var oCurParagraph = oCurData.paragraphs[j];
|
||||
sScript += '\noParagraph = Api.CreateParagraph();';
|
||||
sScript += '\narrInsertResult.push(oParagraph);';
|
||||
|
||||
for(var t = 0; t < oCurParagraph.lines.length; ++t){
|
||||
var oCurLine = oCurParagraph.lines[t];
|
||||
if(t > 0 && t < oCurParagraph.lines.length - 1){
|
||||
//sScript += '\noParagraph.AddLineBreak();';
|
||||
}
|
||||
for(var k = 0; k < oCurLine.words.length; ++k){
|
||||
var oWord = oCurLine.words[k];
|
||||
var sText = oWord.text + (k < oCurLine.words.length - 1 ? ' ' : '');
|
||||
sText = escapeHtml(sText);
|
||||
sScript += '\noRun = oParagraph.AddText(\'' + sText + '\');';
|
||||
sScript += '\noTextPr = oRun.GetTextPr();';
|
||||
var arrFontName = oWord.font_name.split('_');
|
||||
var sFontName = '';
|
||||
for(var s = 0; s < arrFontName.length; ++s ){
|
||||
if(arrFontName[s] === 'Bold'){
|
||||
sScript += '\noTextPr.SetBold(true);';
|
||||
}
|
||||
else if(arrFontName[s] === 'Italic'){
|
||||
sScript += '\noTextPr.SetItalic(true);';
|
||||
}
|
||||
else if(arrFontName[s] === 'Strikeout'){
|
||||
sScript += '\noTextPr.SetStrikeout(true);';
|
||||
}
|
||||
else{
|
||||
|
||||
if(sFontName != ''){
|
||||
sFontName += ' ';
|
||||
}
|
||||
sFontName += arrFontName[s];
|
||||
}
|
||||
}
|
||||
sScript += '\noTextPr.SetFontFamily(\'' + sFontName + '\');';
|
||||
sScript += '\noTextPr.SetFontSize(' + ((oWord.font_size * 5 )>> 0) + ');';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
sScript += '\noDocument.InsertContent(arrInsertResult);';
|
||||
window.Asc.plugin.info.recalculate = true;
|
||||
this.executeCommand("close", sScript);
|
||||
}
|
||||
else{
|
||||
this.executeCommand("close", "");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
window.Asc.plugin.onTranslate = function(){
|
||||
var elem = document.getElementById("label1");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Tesseract.js lets recognize text in pictures (png, jpg)");
|
||||
}
|
||||
elem = document.getElementById("load-file-button-id");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Load File");
|
||||
}
|
||||
elem = document.getElementById("label2");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Choose language");
|
||||
}
|
||||
elem = document.getElementById("recognize-button");
|
||||
if (elem){
|
||||
elem.innerHTML = window.Asc.plugin.tr("Recognize");
|
||||
}
|
||||
elem = document.getElementById("lang-select");
|
||||
if(elem){
|
||||
var sInnerHtml = "";
|
||||
for(var key in oLangMap){
|
||||
if(oLangMap.hasOwnProperty(key)){
|
||||
sInnerHtml += "<option value = \'" + key + "'>" + window.Asc.plugin.tr(oLangMap[key]) + "</option>";
|
||||
}
|
||||
}
|
||||
elem.innerHTML = sInnerHtml;
|
||||
}
|
||||
};
|
||||
|
||||
})(window, undefined);
|
||||
21
select2-4.0.6-rc.1/LICENSE.md
Normal file
21
select2-4.0.6-rc.1/LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
123
select2-4.0.6-rc.1/README.md
Normal file
123
select2-4.0.6-rc.1/README.md
Normal file
@ -0,0 +1,123 @@
|
||||
Select2
|
||||
=======
|
||||
[![Build Status][travis-ci-image]][travis-ci-status]
|
||||
|
||||
Select2 is a jQuery-based replacement for select boxes. It supports searching,
|
||||
remote data sets, and pagination of results.
|
||||
|
||||
To get started, checkout examples and documentation at
|
||||
https://select2.org/
|
||||
|
||||
Use cases
|
||||
---------
|
||||
* Enhancing native selects with search.
|
||||
* Enhancing native selects with a better multi-select interface.
|
||||
* Loading data from JavaScript: easily load items via AJAX and have them
|
||||
searchable.
|
||||
* Nesting optgroups: native selects only support one level of nesting. Select2
|
||||
does not have this restriction.
|
||||
* Tagging: ability to add new items on the fly.
|
||||
* Working with large, remote datasets: ability to partially load a dataset based
|
||||
on the search term.
|
||||
* Paging of large datasets: easy support for loading more pages when the results
|
||||
are scrolled to the end.
|
||||
* Templating: support for custom rendering of results and selections.
|
||||
|
||||
Browser compatibility
|
||||
---------------------
|
||||
* IE 8+
|
||||
* Chrome 8+
|
||||
* Firefox 10+
|
||||
* Safari 3+
|
||||
* Opera 10.6+
|
||||
|
||||
Select2 is automatically tested on the following browsers.
|
||||
|
||||
[![Sauce Labs Test Status][saucelabs-matrix]][saucelabs-status]
|
||||
|
||||
Usage
|
||||
-----
|
||||
You can source Select2 directly from a CDN like [JSDliver][jsdelivr] or
|
||||
[CDNJS][cdnjs], [download it from this GitHub repo][releases], or use one of
|
||||
the integrations below.
|
||||
|
||||
Integrations
|
||||
------------
|
||||
Third party developers have created plugins for platforms which allow Select2 to be integrated more natively and quickly. For many platforms, additional plugins are not required because Select2 acts as a standard `<select>` box.
|
||||
|
||||
Plugins
|
||||
|
||||
* [Django]
|
||||
- [django-autocomplete-light]
|
||||
- [django-easy-select2]
|
||||
- [django-select2]
|
||||
* [Meteor] - [meteor-select2]
|
||||
* [Ruby on Rails][ruby-on-rails] - [select2-rails]
|
||||
* [Wicket] - [wicketstuff-select2]
|
||||
* [Yii 2][yii2] - [yii2-widget-select2]
|
||||
|
||||
Themes
|
||||
|
||||
- [Bootstrap 3][bootstrap3] - [select2-bootstrap-theme]
|
||||
- [Flat UI][flat-ui] - [select2-flat-theme]
|
||||
- [Metro UI][metro-ui] - [select2-metro]
|
||||
|
||||
Missing an integration? Modify this `README` and make a pull request back here to Select2 on GitHub.
|
||||
|
||||
Internationalization (i18n)
|
||||
---------------------------
|
||||
Select2 supports multiple languages by simply including the right language JS
|
||||
file (`dist/js/i18n/it.js`, `dist/js/i18n/nl.js`, etc.) after
|
||||
`dist/js/select2.js`.
|
||||
|
||||
Missing a language? Just copy `src/js/select2/i18n/en.js`, translate it, and
|
||||
make a pull request back to Select2 here on GitHub.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
The documentation for Select2 is available
|
||||
[through GitHub Pages][documentation] and is located within this repository
|
||||
in the [`docs` folder][documentation-folder].
|
||||
|
||||
Community
|
||||
---------
|
||||
You can find out about the different ways to get in touch with the Select2
|
||||
community at the [Select2 community page][community].
|
||||
|
||||
Copyright and license
|
||||
---------------------
|
||||
The license is available within the repository in the [LICENSE][license] file.
|
||||
|
||||
[cdnjs]: http://www.cdnjs.com/libraries/select2
|
||||
[community]: https://select2.org/getting-help
|
||||
[documentation]: https://select2.org
|
||||
[documentation-folder]: https://github.com/select2/select2/tree/master/docs
|
||||
[freenode]: https://freenode.net/
|
||||
[jsdelivr]: http://www.jsdelivr.com/#!select2
|
||||
[license]: LICENSE.md
|
||||
[releases]: https://github.com/select2/select2/releases
|
||||
[saucelabs-matrix]: https://saucelabs.com/browser-matrix/select2.svg
|
||||
[saucelabs-status]: https://saucelabs.com/u/select2
|
||||
[travis-ci-image]: https://img.shields.io/travis/select2/select2/master.svg
|
||||
[travis-ci-status]: https://travis-ci.org/select2/select2
|
||||
|
||||
[bootstrap3]: https://getbootstrap.com/
|
||||
[django]: https://www.djangoproject.com/
|
||||
[django-autocomplete-light]: https://github.com/yourlabs/django-autocomplete-light
|
||||
[django-easy-select2]: https://github.com/asyncee/django-easy-select2
|
||||
[django-select2]: https://github.com/applegrew/django-select2
|
||||
[flat-ui]: http://designmodo.github.io/Flat-UI/
|
||||
[meteor]: https://www.meteor.com/
|
||||
[meteor-select2]: https://github.com/nate-strauser/meteor-select2
|
||||
[metro-ui]: http://metroui.org.ua/
|
||||
[select2-metro]: http://metroui.org.ua/select2.html
|
||||
[ruby-on-rails]: http://rubyonrails.org/
|
||||
[select2-bootstrap-theme]: https://github.com/select2/select2-bootstrap-theme
|
||||
[select2-flat-theme]: https://github.com/techhysahil/select2-Flat_Theme
|
||||
[select2-rails]: https://github.com/argerim/select2-rails
|
||||
[vue.js]: http://vuejs.org/
|
||||
[select2-vue]: http://vuejs.org/examples/select2.html
|
||||
[wicket]: https://wicket.apache.org/
|
||||
[wicketstuff-select2]: https://github.com/wicketstuff/core/tree/master/select2-parent
|
||||
[yii2]: http://www.yiiframework.com/
|
||||
[yii2-widget-select2]: https://github.com/kartik-v/yii2-widget-select2
|
||||
489
select2-4.0.6-rc.1/dist/css/select2.css
vendored
Normal file
489
select2-4.0.6-rc.1/dist/css/select2.css
vendored
Normal file
@ -0,0 +1,489 @@
|
||||
.select2-container {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
vertical-align: middle; }
|
||||
.select2-container .select2-selection--single {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 22px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-selection--single .select2-selection__clear {
|
||||
position: relative; }
|
||||
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||
padding-right: 8px;
|
||||
padding-left: 20px; }
|
||||
.select2-container .select2-selection--multiple {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
min-height: 32px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
padding-left: 8px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-search--inline {
|
||||
float: left; }
|
||||
.select2-container .select2-search--inline .select2-search__field {
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
font-size: 100%;
|
||||
margin-top: 5px;
|
||||
padding: 0; }
|
||||
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
|
||||
.select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
width: 100%;
|
||||
z-index: 1051; }
|
||||
|
||||
.select2-results {
|
||||
display: block; }
|
||||
|
||||
.select2-results__options {
|
||||
font-size: 12px;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
.select2-results__option {
|
||||
padding: 6px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-results__option[aria-selected] {
|
||||
cursor: pointer; }
|
||||
|
||||
.select2-container--open .select2-dropdown {
|
||||
left: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--above {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--below {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-search--dropdown {
|
||||
display: block;
|
||||
padding: 4px; }
|
||||
.select2-search--dropdown .select2-search__field {
|
||||
padding: 4px;
|
||||
width: 100%;
|
||||
box-sizing: border-box; }
|
||||
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
.select2-search--dropdown.select2-search--hide {
|
||||
display: none; }
|
||||
|
||||
.select2-close-mask {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: block;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
opacity: 0;
|
||||
z-index: 99;
|
||||
background-color: #fff;
|
||||
filter: alpha(opacity=0); }
|
||||
|
||||
.select2-hidden-accessible {
|
||||
border: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
-webkit-clip-path: inset(50%) !important;
|
||||
clip-path: inset(50%) !important;
|
||||
height: 1px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
white-space: nowrap !important; }
|
||||
|
||||
.select2-container--default .select2-selection--single {
|
||||
outline: none;
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
color: #444;
|
||||
line-height: 22px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
||||
display: none; }
|
||||
|
||||
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.select2-container--default .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px;
|
||||
cursor: text; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||
box-sizing: border-box;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px;
|
||||
width: 100%; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
||||
list-style: none; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
||||
color: #999;
|
||||
margin-top: 5px;
|
||||
float: left; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-top: 5px;
|
||||
margin-right: 10px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #333; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
||||
float: right; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||
border: solid black 1px;
|
||||
outline: 0; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
||||
display: none; }
|
||||
|
||||
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||
outline-color: #7d858c;
|
||||
border: 1px solid #aaa; }
|
||||
|
||||
.select2-container--default .select2-search--inline .select2-search__field {
|
||||
background: transparent;
|
||||
border: none;
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: textfield; }
|
||||
|
||||
.select2-container--default .select2-results > .select2-results__options {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
|
||||
.select2-container--default .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
|
||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||
color: #999; }
|
||||
|
||||
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||
background-color: #7d858c; }
|
||||
|
||||
.select2-container--default .select2-results__option .select2-results__option {
|
||||
padding-left: 1em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
||||
padding-left: 0; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -1em;
|
||||
padding-left: 2em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -2em;
|
||||
padding-left: 3em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -3em;
|
||||
padding-left: 4em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -4em;
|
||||
padding-left: 5em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -5em;
|
||||
padding-left: 6em; }
|
||||
|
||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: rgba(200, 200, 200, 0.5);}
|
||||
|
||||
.select2-container--default .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic .select2-selection--single {
|
||||
background-color: #f7f7f7;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px;
|
||||
outline: 0;
|
||||
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 22px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-right: 10px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
||||
background-color: #ddd;
|
||||
border: none;
|
||||
border-left: 1px solid #aaa;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
border: none;
|
||||
border-right: 1px solid #aaa;
|
||||
border-radius: 0;
|
||||
border-top-left-radius: 2px;
|
||||
border-bottom-left-radius: 2px;
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-selection--single {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
||||
background: transparent;
|
||||
border: none; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
|
||||
|
||||
.select2-container--classic .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px;
|
||||
cursor: text;
|
||||
outline: 0; }
|
||||
.select2-container--classic .select2-selection--multiple:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
||||
display: none; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 2px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #888;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #555; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
float: right;
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
||||
border: 1px solid #5897fb; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa;
|
||||
outline: 0; }
|
||||
|
||||
.select2-container--classic .select2-search--inline .select2-search__field {
|
||||
outline: 0;
|
||||
box-shadow: none; }
|
||||
|
||||
.select2-container--classic .select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid transparent; }
|
||||
|
||||
.select2-container--classic .select2-dropdown--above {
|
||||
border-bottom: none; }
|
||||
|
||||
.select2-container--classic .select2-dropdown--below {
|
||||
border-top: none; }
|
||||
|
||||
.select2-container--classic .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
|
||||
.select2-container--classic .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
|
||||
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
||||
color: grey; }
|
||||
|
||||
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #3875d7;
|
||||
color: white; }
|
||||
|
||||
.select2-container--classic .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-dropdown {
|
||||
border-color: #5897fb; }
|
||||
1
select2-4.0.6-rc.1/dist/css/select2.min.css
vendored
Normal file
1
select2-4.0.6-rc.1/dist/css/select2.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6559
select2-4.0.6-rc.1/dist/js/select2.full.js
vendored
Normal file
6559
select2-4.0.6-rc.1/dist/js/select2.full.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
select2-4.0.6-rc.1/dist/js/select2.full.min.js
vendored
Normal file
1
select2-4.0.6-rc.1/dist/js/select2.full.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5847
select2-4.0.6-rc.1/dist/js/select2.js
vendored
Normal file
5847
select2-4.0.6-rc.1/dist/js/select2.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
select2-4.0.6-rc.1/dist/js/select2.min.js
vendored
Normal file
1
select2-4.0.6-rc.1/dist/js/select2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
select2-4.0.6-rc.1/docs/README.md
Normal file
1
select2-4.0.6-rc.1/docs/README.md
Normal file
@ -0,0 +1 @@
|
||||
Effective beginning September 10, 2017, the Select2 documentation repository is now available at [`select2/docs`](https://github.com/select2/docs).
|
||||
12
select2-4.0.6-rc.1/docs/announcements-4.0.html
Normal file
12
select2-4.0.6-rc.1/docs/announcements-4.0.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>select2</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.location = 'https://select2.org/upgrading/new-in-40';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
12
select2-4.0.6-rc.1/docs/community.html
Normal file
12
select2-4.0.6-rc.1/docs/community.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>select2</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.location = 'https://select2.org/getting-help';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
12
select2-4.0.6-rc.1/docs/examples.html
Normal file
12
select2-4.0.6-rc.1/docs/examples.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>select2</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.location = 'https://select2.org/getting-started/basic-usage';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
12
select2-4.0.6-rc.1/docs/index.html
Normal file
12
select2-4.0.6-rc.1/docs/index.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>select2</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.location = 'https://select2.org';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
12
select2-4.0.6-rc.1/docs/options-old.html
Normal file
12
select2-4.0.6-rc.1/docs/options-old.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>select2</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.location = 'https://select2.org/configuration';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
12
select2-4.0.6-rc.1/docs/options.html
Normal file
12
select2-4.0.6-rc.1/docs/options.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>select2</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.location = 'https://select2.org/configuration';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
70
translations/de-DE.json
Normal file
70
translations/de-DE.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"Tesseract.js lets recognize text in pictures (png, jpg)": "Tesseract.js lässt Text in Bildern erkennen (png, jpg)",
|
||||
"Choose language": "Sprache wählen",
|
||||
"Load File": "Datei laden",
|
||||
"English": "Englisch",
|
||||
"Chinese": "Chinesisch",
|
||||
"Russian": "Russisch",
|
||||
"Meme": "Mem",
|
||||
"Thai": "Thailändisch",
|
||||
"German": "Deutsch",
|
||||
"Japanese": "Japanisch",
|
||||
"Spanish": "Spanisch",
|
||||
"French": "Französisch",
|
||||
"Portuguese": "Portugiesisch",
|
||||
"Italian": "Italienisch",
|
||||
"Polish": "Polnisch",
|
||||
"Turkish": "Türkisch",
|
||||
"Dutch": "Niederländisch",
|
||||
"Arabic": "Arabisch",
|
||||
"Czech": "Tschechisch",
|
||||
"Korean": "Koreanisch",
|
||||
"Swedish": "Schwedisch",
|
||||
"Vietnamese": "Vietnamesisch",
|
||||
"Romanian": "Rumänisch",
|
||||
"Greek": "Griechisch",
|
||||
"Indonesian": "Indonesisch",
|
||||
"Hungarian": "Ungarisch",
|
||||
"Danish": "Dänisch",
|
||||
"Bulgarian": "Bulgarisch",
|
||||
"Finnish": "Finnisch",
|
||||
"Norwegian": "Norwegisch",
|
||||
"Ukrainian": "Ukrainisch",
|
||||
"Catalan": "Katalanisch",
|
||||
"Croatian": "Kroatisch",
|
||||
"Hebrew": "Hebräisch",
|
||||
"Lithuanian": "Litauisch",
|
||||
"Slovenian": "Slowenisch",
|
||||
"Hindi": "Hindi",
|
||||
"Bengali": "Bengali",
|
||||
"Telugu": "Telugu",
|
||||
"Tamil": "Tamil",
|
||||
"Kannada": "Kanaresisch",
|
||||
"Malayalam": "Malayalam",
|
||||
"Tagalog": "Tagalog",
|
||||
"Swahili": "Suaheli",
|
||||
"Azerbaijani": "Aserbaidschanisch",
|
||||
"Belarusian": "Belarussisch",
|
||||
"Afrikaans": "Afrikanisch",
|
||||
"Albanian": "Albanisch",
|
||||
"Basque": "Baskisch",
|
||||
"Esperanto": "Esperanto",
|
||||
"Estonian": "Estonisch",
|
||||
"Galician": "Galicisch",
|
||||
"Icelandic": "Isländisch",
|
||||
"Latvian": "Lettisch",
|
||||
"Macedonian": "Mazedonisch",
|
||||
"Malay": "Malaiisch",
|
||||
"Maltese": "Maltesisch",
|
||||
"Ancient Greek": "Altgriechisch",
|
||||
"Cherokee": "Cherokee",
|
||||
"English (Old)": "Englisch (alt)",
|
||||
"Frankish": "Fränkisch",
|
||||
"Math": "Mathematik",
|
||||
"Serbian (Latin)": "Serbisch (lateinisch)",
|
||||
"Slovak": "Slowakisch",
|
||||
"Recognize": "Erkennen",
|
||||
"Tesseract.js Add-on": "Tesseract.js Add-on",
|
||||
"Tesseract.js is a pure javascript version of the <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> that recognize English, Chinese, Russian, Meme and 60 other languages.": "Tesseract.js ist eine reine Javascript-Version der <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract-OCR-Engine </a>, die Englisch, Chinesisch, Russisch, Meme und 60 andere Sprachen erkennt.",
|
||||
"Source code": "Quellcode"
|
||||
}
|
||||
70
translations/es-ES.json
Normal file
70
translations/es-ES.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"Tesseract.js lets recognize text in pictures (png, jpg)": "Complemento Tesseract.js permite reconocer texto en imágenes (png, jpg)",
|
||||
"Choose language": "Seleccionar idioma",
|
||||
"Load File": "Cargar el archivo",
|
||||
"English": "Inglés",
|
||||
"Chinese": "Chino",
|
||||
"Russian": "Ruso",
|
||||
"Meme": "Meme",
|
||||
"Thai": "Tailandés",
|
||||
"German": "Alemán",
|
||||
"Japanese": "Japonés",
|
||||
"Spanish": "Español",
|
||||
"French": "Francés",
|
||||
"Portuguese": "Portugués",
|
||||
"Italian": "Italiano",
|
||||
"Polish": "Polonés",
|
||||
"Turkish": "Turco",
|
||||
"Dutch": "Holandés",
|
||||
"Arabic": "Árabe",
|
||||
"Czech": "Checo",
|
||||
"Korean": "Coreano",
|
||||
"Swedish": "Sueco",
|
||||
"Vietnamese": "Vietnamita",
|
||||
"Romanian": "Rumano",
|
||||
"Greek": "Griego",
|
||||
"Indonesian": "Indonesio",
|
||||
"Hungarian": "Húngaro",
|
||||
"Danish": "Danés",
|
||||
"Bulgarian": "Búlgaro",
|
||||
"Finnish": "Finlandés",
|
||||
"Norwegian": "Noruego",
|
||||
"Ukrainian": "Ucraniano",
|
||||
"Catalan": "Catalán",
|
||||
"Croatian": "Croata",
|
||||
"Hebrew": "Hebreo",
|
||||
"Lithuanian": "Lituano",
|
||||
"Slovenian": "Esloveno",
|
||||
"Hindi": "Hindi",
|
||||
"Bengali": "Bengalí",
|
||||
"Telugu": "Télugu",
|
||||
"Tamil": "Tamil",
|
||||
"Kannada": "Kannada",
|
||||
"Malayalam": "Malayam",
|
||||
"Tagalog": "Tagalo",
|
||||
"Swahili": "Suajili",
|
||||
"Azerbaijani": "Azerí",
|
||||
"Belarusian": "Bielorruso",
|
||||
"Afrikaans": "Afrikáans",
|
||||
"Albanian": "Albanés",
|
||||
"Basque": "Vasco",
|
||||
"Esperanto": "Esperanto",
|
||||
"Estonian": "Estonio",
|
||||
"Galician": "Gallego",
|
||||
"Icelandic": "Islandés",
|
||||
"Latvian": "Letón",
|
||||
"Macedonian": "Macedonio",
|
||||
"Malay": "Malayo",
|
||||
"Maltese": "Maltés",
|
||||
"Ancient Greek": "Griego antiguo",
|
||||
"Cherokee": "Cheroqui",
|
||||
"English (Old)": "Inglés antiguo",
|
||||
"Frankish": "Fráncico",
|
||||
"Math": "Matemáticas",
|
||||
"Serbian (Latin)": "Serbio (latino)",
|
||||
"Slovak": "Eslovaco",
|
||||
"Recognize": "Reconocer",
|
||||
"Tesseract.js Add-on": "Complemento Tesseract.js",
|
||||
"Tesseract.js is a pure javascript version of the <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> that recognize English, Chinese, Russian, Meme and 60 other languages.": "Tesseract.js es una versión pura de javascript del <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> que reconoce Inglés, Chino, Ruso, Meme y 60 otros idiomas.",
|
||||
"Source code": "Código fuente"
|
||||
}
|
||||
70
translations/fr-FR.json
Normal file
70
translations/fr-FR.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"Tesseract.js lets recognize text in pictures (png, jpg)": "Extension Tesseract.js permet de reconnaître le texte dans les images (png, jpg)",
|
||||
"Choose language": "Choisir la langue",
|
||||
"Load File": "Charger fichier",
|
||||
"English": "Anglais",
|
||||
"Chinese": "Chinois",
|
||||
"Russian": "Russe",
|
||||
"Meme": "Meme",
|
||||
"Thai": "Thaïlandais",
|
||||
"German": "Allemand",
|
||||
"Japanese": "Japonais",
|
||||
"Spanish": "Espagnol",
|
||||
"French": "Français",
|
||||
"Portuguese": "Portugais",
|
||||
"Italian": "Italien",
|
||||
"Polish": "Polonais",
|
||||
"Turkish": "Turc",
|
||||
"Dutch": "Néerlandais",
|
||||
"Arabic": "Arabe",
|
||||
"Czech": "Tchèque",
|
||||
"Korean": "Coréen",
|
||||
"Swedish": "Suédois",
|
||||
"Vietnamese": "Vietnamien",
|
||||
"Romanian": "Roumain",
|
||||
"Greek": "Grec",
|
||||
"Indonesian": "Indonésien",
|
||||
"Hungarian": "Hongrois",
|
||||
"Danish": "Danois",
|
||||
"Bulgarian": "Bulgare",
|
||||
"Finnish": "Finlandais",
|
||||
"Norwegian": "Norvégien",
|
||||
"Ukrainian": "Ukrainien",
|
||||
"Catalan": "Catalan",
|
||||
"Croatian": "Croate",
|
||||
"Hebrew": "Hébreu",
|
||||
"Lithuanian": "Lituanien",
|
||||
"Slovenian": "Slovène",
|
||||
"Hindi": "Hindi",
|
||||
"Bengali": "Bengali",
|
||||
"Telugu": "Télougou",
|
||||
"Tamil": "Tamoul",
|
||||
"Kannada": "Kannada",
|
||||
"Malayalam": "Malayalam",
|
||||
"Tagalog": "Tagalog",
|
||||
"Swahili": "Swahili",
|
||||
"Azerbaijani": "Azéri",
|
||||
"Belarusian": "Biélorusse",
|
||||
"Afrikaans": "Afrikaans",
|
||||
"Albanian": "Albanais",
|
||||
"Basque": "Basque",
|
||||
"Esperanto": "Esperanto",
|
||||
"Estonian": "Estonien",
|
||||
"Galician": "Galicien",
|
||||
"Icelandic": "Islandais",
|
||||
"Latvian": "Letton",
|
||||
"Macedonian": "Macédonien",
|
||||
"Malay": "Malais",
|
||||
"Maltese": "Maltais",
|
||||
"Ancient Greek": "Ancien Grec",
|
||||
"Cherokee": "Cherokee",
|
||||
"English (Old)": "Ancien Anglais",
|
||||
"Frankish": "Francs",
|
||||
"Math": "Mathématiques",
|
||||
"Serbian (Latin)": "Serbe (alphabet latin)",
|
||||
"Slovak": "Slovaque",
|
||||
"Recognize": "Reconnaître",
|
||||
"Tesseract.js Add-on": "Extension Tesseract.js",
|
||||
"Tesseract.js is a pure javascript version of the <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> that recognize English, Chinese, Russian, Meme and 60 other languages.": "Tesseract.js c'est une version javascript pure de <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> qui reconnais le texte en Anglais, Chinois, Russe, Meme et 60 d'autres langues.",
|
||||
"Source code": "Code source"
|
||||
}
|
||||
70
translations/ru-RU.json
Normal file
70
translations/ru-RU.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"Tesseract.js lets recognize text in pictures (png, jpg)": "Плагин Tesseract.js позволяет распознавать текст в изображениях (png, jpg)",
|
||||
"Choose language": "Выбрать язык",
|
||||
"Load File": "Загрузить файл",
|
||||
"English": "Английский",
|
||||
"Chinese": "Китайский",
|
||||
"Russian": "Русский",
|
||||
"Meme": "Интернет-мемы",
|
||||
"Thai": "Тайский",
|
||||
"German": "Немецкий",
|
||||
"Japanese": "Японский",
|
||||
"Spanish": "Испанский",
|
||||
"French": "Французский",
|
||||
"Portuguese": "Португальский",
|
||||
"Italian": "Итальянский",
|
||||
"Polish": "Польский",
|
||||
"Turkish": "Турецкий",
|
||||
"Dutch": "Нидерландский",
|
||||
"Arabic": "Арабский",
|
||||
"Czech": "Чешский",
|
||||
"Korean": "Корейский",
|
||||
"Swedish": "Шведский",
|
||||
"Vietnamese": "Вьетнамский",
|
||||
"Romanian": "Румынский",
|
||||
"Greek": "Греческий",
|
||||
"Indonesian": "Индонезийский",
|
||||
"Hungarian": "Венгерский",
|
||||
"Danish": "Датский",
|
||||
"Bulgarian": "Болгарский",
|
||||
"Finnish": "Финский",
|
||||
"Norwegian": "Норвежский",
|
||||
"Ukrainian": "Украинский",
|
||||
"Catalan": "Каталанский",
|
||||
"Croatian": "Хорватский",
|
||||
"Hebrew": "Иврит",
|
||||
"Lithuanian": "Литовский",
|
||||
"Slovenian": "Словенский",
|
||||
"Hindi": "Хинди",
|
||||
"Bengali": "Бенгальский",
|
||||
"Telugu": "Телугу",
|
||||
"Tamil": "Тамильский",
|
||||
"Kannada": "Каннада",
|
||||
"Malayalam": "Малаялам",
|
||||
"Tagalog": "Тагальский",
|
||||
"Swahili": "Суахили",
|
||||
"Azerbaijani": "Азербайджанский",
|
||||
"Belarusian": "Белорусский",
|
||||
"Afrikaans": "Африкаанс",
|
||||
"Albanian": "Албанский",
|
||||
"Basque": "Баскский",
|
||||
"Esperanto": "Эсперанто",
|
||||
"Estonian": "Эстонский",
|
||||
"Galician": "Галисийский",
|
||||
"Icelandic": "Исландский",
|
||||
"Latvian": "Латышский",
|
||||
"Macedonian": "Македонский",
|
||||
"Malay": "Малайский",
|
||||
"Maltese": "Мальтийский",
|
||||
"Ancient Greek": "Древнегреческий",
|
||||
"Cherokee": "Чероки",
|
||||
"English (Old)": "Древнеанглийский",
|
||||
"Frankish": "Франкский",
|
||||
"Math": "Математические знаки",
|
||||
"Serbian (Latin)": "Сербский (латиница)",
|
||||
"Slovak": "Словацкий",
|
||||
"Recognize": "Распознать",
|
||||
"Tesseract.js Add-on": "Плагин Tesseract.js",
|
||||
"Tesseract.js is a pure javascript version of the <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a> that recognize English, Chinese, Russian, Meme and 60 other languages." : "Tesseract.js - это javascript-версия движка <a href=\"http://tesseract.projectnaptha.com\" target=\"_blank\">Tesseract OCR Engine</a>, позволяющая распознавать текст более чем на 60 языках: английском, китайском, русском, языке интернет-мемов и др.",
|
||||
"Source code": "Исходный код"
|
||||
}
|
||||
Reference in New Issue
Block a user