diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/ajax/share.php | 28 | ||||
-rw-r--r-- | core/js/js.js | 6 | ||||
-rw-r--r-- | core/js/oc-dialogs.js | 339 | ||||
-rw-r--r-- | core/js/share.js | 20 | ||||
-rw-r--r-- | core/js/tests/specs/coreSpec.js | 6 | ||||
-rw-r--r-- | core/l10n/ast.php | 3 | ||||
-rw-r--r-- | core/l10n/de.php | 1 | ||||
-rw-r--r-- | core/l10n/de_DE.php | 1 | ||||
-rw-r--r-- | core/l10n/fr.php | 1 | ||||
-rw-r--r-- | core/l10n/it.php | 1 | ||||
-rw-r--r-- | core/l10n/tr.php | 2 |
11 files changed, 228 insertions, 180 deletions
diff --git a/core/ajax/share.php b/core/ajax/share.php index e667d9b5faa..2b41bd8a5da 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -205,6 +205,34 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo OC_JSON::success(array('data' => array('reshare' => $reshare, 'shares' => $shares))); } break; + case 'getShareWithEmail': + $result = array(); + if (isset($_GET['search'])) { + $cm = OC::$server->getContactsManager(); + if (!is_null($cm) && $cm->isEnabled()) { + $contacts = $cm->search($_GET['search'], array('FN', 'EMAIL')); + foreach ($contacts as $contact) { + if (!isset($contact['EMAIL'])) { + continue; + } + + $emails = $contact['EMAIL']; + if (!is_array($emails)) { + $emails = array($emails); + } + + foreach($emails as $email) { + $result[] = array( + 'id' => $contact['id'], + 'email' => $email, + 'displayname' => $contact['FN'], + ); + } + } + } + } + OC_JSON::success(array('data' => $result)); + break; case 'getShareWith': if (isset($_GET['search'])) { $sharePolicy = OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global'); diff --git a/core/js/js.js b/core/js/js.js index 1cbb9636dbe..f10c7163092 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -295,7 +295,7 @@ var OC={ */ imagePath:function(app,file){ if(file.indexOf('.')==-1){//if no extension is given, use png or svg depending on browser support - file+=(SVGSupport())?'.svg':'.png'; + file+=(OC.Util.hasSVGSupport())?'.svg':'.png'; } return OC.filePath(app,'img',file); }, @@ -497,7 +497,7 @@ var OC={ throw e; }); } - if(!SVGSupport()) { + if(!OC.Util.hasSVGSupport()) { OC.Util.replaceSVG(); } }).show(); @@ -874,7 +874,7 @@ function initCore() { initSessionHeartBeat(); } - if(!SVGSupport()){ //replace all svg images with png images for browser that dont support svg + if(!OC.Util.hasSVGSupport()){ //replace all svg images with png images for browser that dont support svg OC.Util.replaceSVG(); }else{ SVGSupport.checkMimeType(); diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js index 2233b983ad4..11833f12e2d 100644 --- a/core/js/oc-dialogs.js +++ b/core/js/oc-dialogs.js @@ -19,7 +19,7 @@ * */ -/* global OC, t */ +/* global OC, t, alert */ /** * this class to ease the usage of jquery dialogs @@ -29,7 +29,7 @@ var OCdialogs = { YES_NO_BUTTONS: 70, OK_BUTTONS: 71, // used to name each dialog - dialogs_counter: 0, + dialogsCounter: 0, /** * displays alert dialog * @param text content of dialog @@ -54,7 +54,8 @@ var OCdialogs = { * displays confirmation dialog * @param text content of dialog * @param title dialog title - * @param callback which will be triggered when user presses YES or NO (true or false would be passed to callback respectively) + * @param callback which will be triggered when user presses YES or NO + * (true or false would be passed to callback respectively) * @param modal make the dialog modal */ confirm:function(text, title, callback, modal) { @@ -65,21 +66,20 @@ var OCdialogs = { * @param title dialog title * @param callback which will be triggered when user presses Choose * @param multiselect whether it should be possible to select multiple files - * @param mimetype_filter mimetype to filter by + * @param mimetypeFilter mimetype to filter by * @param modal make the dialog modal */ - filepicker:function(title, callback, multiselect, mimetype_filter, modal) { + filepicker:function(title, callback, multiselect, mimetypeFilter, modal) { var self = this; $.when(this._getFilePickerTemplate()).then(function($tmpl) { - var dialog_name = 'oc-dialog-filepicker-content'; - var dialog_id = '#' + dialog_name; + var dialogName = 'oc-dialog-filepicker-content'; if(self.$filePicker) { self.$filePicker.ocdialog('close'); } self.$filePicker = $tmpl.octemplate({ - dialog_name: dialog_name, + dialog_name: dialogName, title: title - }).data('path', '').data('multiselect', multiselect).data('mimetype', mimetype_filter); + }).data('path', '').data('multiselect', multiselect).data('mimetype', mimetypeFilter); if (modal === undefined) { modal = false; @@ -87,8 +87,8 @@ var OCdialogs = { if (multiselect === undefined) { multiselect = false; } - if (mimetype_filter === undefined) { - mimetype_filter = ''; + if (mimetypeFilter === undefined) { + mimetypeFilter = ''; } $('body').append(self.$filePicker); @@ -133,7 +133,7 @@ var OCdialogs = { height: 420, modal: modal, buttons: buttonlist, - close: function(event, ui) { + close: function() { try { $(this).ocdialog('destroy').remove(); } catch(e) {} @@ -156,15 +156,15 @@ var OCdialogs = { * Displays raw dialog * You better use a wrapper instead ... */ - message:function(content, title, dialog_type, buttons, callback, modal) { + message:function(content, title, dialogType, buttons, callback, modal) { $.when(this._getMessageTemplate()).then(function($tmpl) { - var dialog_name = 'oc-dialog-' + OCdialogs.dialogs_counter + '-content'; - var dialog_id = '#' + dialog_name; + var dialogName = 'oc-dialog-' + OCdialogs.dialogsCounter + '-content'; + var dialogId = '#' + dialogName; var $dlg = $tmpl.octemplate({ - dialog_name: dialog_name, + dialog_name: dialogName, title: title, message: content, - type: dialog_type + type: dialogType }); if (modal === undefined) { modal = false; @@ -172,48 +172,48 @@ var OCdialogs = { $('body').append($dlg); var buttonlist = []; switch (buttons) { - case OCdialogs.YES_NO_BUTTONS: - buttonlist = [{ - text: t('core', 'Yes'), - click: function(){ - if (callback !== undefined) { - callback(true); - } - $(dialog_id).ocdialog('close'); - }, - defaultButton: true + case OCdialogs.YES_NO_BUTTONS: + buttonlist = [{ + text: t('core', 'Yes'), + click: function(){ + if (callback !== undefined) { + callback(true); + } + $(dialogId).ocdialog('close'); }, - { - text: t('core', 'No'), - click: function(){ - if (callback !== undefined) { - callback(false); - } - $(dialog_id).ocdialog('close'); + defaultButton: true + }, + { + text: t('core', 'No'), + click: function(){ + if (callback !== undefined) { + callback(false); } - }]; + $(dialogId).ocdialog('close'); + } + }]; break; - case OCdialogs.OK_BUTTON: - var functionToCall = function() { - $(dialog_id).ocdialog('close'); - if(callback !== undefined) { - callback(); - } - }; - buttonlist[0] = { - text: t('core', 'Ok'), - click: functionToCall, - defaultButton: true - }; + case OCdialogs.OK_BUTTON: + var functionToCall = function() { + $(dialogId).ocdialog('close'); + if(callback !== undefined) { + callback(); + } + }; + buttonlist[0] = { + text: t('core', 'Ok'), + click: functionToCall, + defaultButton: true + }; break; } - $(dialog_id).ocdialog({ + $(dialogId).ocdialog({ closeOnEscape: true, modal: modal, buttons: buttonlist }); - OCdialogs.dialogs_counter++; + OCdialogs.dialogsCounter++; }) .fail(function(status, error) { // If the method is called while navigating away from @@ -251,7 +251,7 @@ var OCdialogs = { image.onload = function () { var url = crop(image); deferred.resolve(url); - } + }; }; reader.readAsArrayBuffer(file); } else { @@ -339,132 +339,133 @@ var OCdialogs = { //if (selection.defaultAction) { // controller[selection.defaultAction](data); //} else { - var dialog_name = 'oc-dialog-fileexists-content'; - var dialog_id = '#' + dialog_name; - if (this._fileexistsshown) { - // add conflict - - var conflicts = $(dialog_id+ ' .conflicts'); - addConflict(conflicts, original, replacement); + var dialogName = 'oc-dialog-fileexists-content'; + var dialogId = '#' + dialogName; + if (this._fileexistsshown) { + // add conflict + + var conflicts = $(dialogId+ ' .conflicts'); + addConflict(conflicts, original, replacement); + + var count = $(dialogId+ ' .conflict').length; + var title = n('core', + '{count} file conflict', + '{count} file conflicts', + count, + {count:count} + ); + $(dialogId).parent().children('.oc-dialog-title').text(title); + + //recalculate dimensions + $(window).trigger('resize'); - var count = $(dialog_id+ ' .conflict').length; - var title = n('core', - '{count} file conflict', - '{count} file conflicts', - count, - {count:count} - ); - $(dialog_id).parent().children('.oc-dialog-title').text(title); + } else { + //create dialog + this._fileexistsshown = true; + $.when(this._getFileExistsTemplate()).then(function($tmpl) { + var title = t('core','One file conflict'); + var $dlg = $tmpl.octemplate({ + dialog_name: dialogName, + title: title, + type: 'fileexists', + + allnewfiles: t('core','New Files'), + allexistingfiles: t('core','Already existing files'), + + why: t('core','Which files do you want to keep?'), + what: t('core','If you select both versions, the copied file will have a number added to its name.') + }); + $('body').append($dlg); - //recalculate dimensions - $(window).trigger('resize'); + var conflicts = $($dlg).find('.conflicts'); + addConflict(conflicts, original, replacement); - } else { - //create dialog - this._fileexistsshown = true; - $.when(this._getFileExistsTemplate()).then(function($tmpl) { - var title = t('core','One file conflict'); - var $dlg = $tmpl.octemplate({ - dialog_name: dialog_name, - title: title, - type: 'fileexists', - - allnewfiles: t('core','New Files'), - allexistingfiles: t('core','Already existing files'), - - why: t('core','Which files do you want to keep?'), - what: t('core','If you select both versions, the copied file will have a number added to its name.') - }); - $('body').append($dlg); - - var conflicts = $($dlg).find('.conflicts'); - addConflict(conflicts, original, replacement); - - buttonlist = [{ - text: t('core', 'Cancel'), - classes: 'cancel', - click: function(){ - if ( typeof controller.onCancel !== 'undefined') { - controller.onCancel(data); - } - $(dialog_id).ocdialog('close'); + var buttonlist = [{ + text: t('core', 'Cancel'), + classes: 'cancel', + click: function(){ + if ( typeof controller.onCancel !== 'undefined') { + controller.onCancel(data); } - }, - { - text: t('core', 'Continue'), - classes: 'continue', - click: function(){ - if ( typeof controller.onContinue !== 'undefined') { - controller.onContinue($(dialog_id + ' .conflict')); - } - $(dialog_id).ocdialog('close'); + $(dialogId).ocdialog('close'); + } + }, + { + text: t('core', 'Continue'), + classes: 'continue', + click: function(){ + if ( typeof controller.onContinue !== 'undefined') { + controller.onContinue($(dialogId + ' .conflict')); } - }]; - - $(dialog_id).ocdialog({ - width: 500, - closeOnEscape: true, - modal: true, - buttons: buttonlist, - closeButton: null, - close: function(event, ui) { - self._fileexistsshown = false; + $(dialogId).ocdialog('close'); + } + }]; + + $(dialogId).ocdialog({ + width: 500, + closeOnEscape: true, + modal: true, + buttons: buttonlist, + closeButton: null, + close: function() { + self._fileexistsshown = false; $(this).ocdialog('destroy').remove(); } - }); + }); - $(dialog_id).css('height','auto'); + $(dialogId).css('height','auto'); - //add checkbox toggling actions - $(dialog_id).find('.allnewfiles').on('click', function() { - var checkboxes = $(dialog_id).find('.conflict .replacement input[type="checkbox"]'); - checkboxes.prop('checked', $(this).prop('checked')); - }); - $(dialog_id).find('.allexistingfiles').on('click', function() { - var checkboxes = $(dialog_id).find('.conflict .original input[type="checkbox"]'); - checkboxes.prop('checked', $(this).prop('checked')); - }); - $(dialog_id).find('.conflicts').on('click', '.replacement,.original', function() { - var checkbox = $(this).find('input[type="checkbox"]'); - checkbox.prop('checked', !checkbox.prop('checked')); - }); - $(dialog_id).find('.conflicts').on('click', 'input[type="checkbox"]', function() { - var checkbox = $(this); - checkbox.prop('checked', !checkbox.prop('checked')); - }); + //add checkbox toggling actions + $(dialogId).find('.allnewfiles').on('click', function() { + var checkboxes = $(dialogId).find('.conflict .replacement input[type="checkbox"]'); + checkboxes.prop('checked', $(this).prop('checked')); + }); + $(dialogId).find('.allexistingfiles').on('click', function() { + var checkboxes = $(dialogId).find('.conflict .original input[type="checkbox"]'); + checkboxes.prop('checked', $(this).prop('checked')); + }); + $(dialogId).find('.conflicts').on('click', '.replacement,.original', function() { + var checkbox = $(this).find('input[type="checkbox"]'); + checkbox.prop('checked', !checkbox.prop('checked')); + }); + $(dialogId).find('.conflicts').on('click', 'input[type="checkbox"]', function() { + var checkbox = $(this); + checkbox.prop('checked', !checkbox.prop('checked')); + }); - //update counters - $(dialog_id).on('click', '.replacement,.allnewfiles', function() { - var count = $(dialog_id).find('.conflict .replacement input[type="checkbox"]:checked').length; - if (count === $(dialog_id+ ' .conflict').length) { - $(dialog_id).find('.allnewfiles').prop('checked', true); - $(dialog_id).find('.allnewfiles + .count').text(t('core','(all selected)')); - } else if (count > 0) { - $(dialog_id).find('.allnewfiles').prop('checked', false); - $(dialog_id).find('.allnewfiles + .count').text(t('core','({count} selected)',{count:count})); - } else { - $(dialog_id).find('.allnewfiles').prop('checked', false); - $(dialog_id).find('.allnewfiles + .count').text(''); - } - }); - $(dialog_id).on('click', '.original,.allexistingfiles', function(){ - var count = $(dialog_id).find('.conflict .original input[type="checkbox"]:checked').length; - if (count === $(dialog_id+ ' .conflict').length) { - $(dialog_id).find('.allexistingfiles').prop('checked', true); - $(dialog_id).find('.allexistingfiles + .count').text(t('core','(all selected)')); - } else if (count > 0) { - $(dialog_id).find('.allexistingfiles').prop('checked', false); - $(dialog_id).find('.allexistingfiles + .count').text(t('core','({count} selected)',{count:count})); - } else { - $(dialog_id).find('.allexistingfiles').prop('checked', false); - $(dialog_id).find('.allexistingfiles + .count').text(''); - } - }); - }) - .fail(function() { - alert(t('core', 'Error loading file exists template')); + //update counters + $(dialogId).on('click', '.replacement,.allnewfiles', function() { + var count = $(dialogId).find('.conflict .replacement input[type="checkbox"]:checked').length; + if (count === $(dialogId+ ' .conflict').length) { + $(dialogId).find('.allnewfiles').prop('checked', true); + $(dialogId).find('.allnewfiles + .count').text(t('core','(all selected)')); + } else if (count > 0) { + $(dialogId).find('.allnewfiles').prop('checked', false); + $(dialogId).find('.allnewfiles + .count').text(t('core','({count} selected)',{count:count})); + } else { + $(dialogId).find('.allnewfiles').prop('checked', false); + $(dialogId).find('.allnewfiles + .count').text(''); + } }); - } + $(dialogId).on('click', '.original,.allexistingfiles', function(){ + var count = $(dialogId).find('.conflict .original input[type="checkbox"]:checked').length; + if (count === $(dialogId+ ' .conflict').length) { + $(dialogId).find('.allexistingfiles').prop('checked', true); + $(dialogId).find('.allexistingfiles + .count').text(t('core','(all selected)')); + } else if (count > 0) { + $(dialogId).find('.allexistingfiles').prop('checked', false); + $(dialogId).find('.allexistingfiles + .count') + .text(t('core','({count} selected)',{count:count})); + } else { + $(dialogId).find('.allexistingfiles').prop('checked', false); + $(dialogId).find('.allexistingfiles + .count').text(''); + } + }); + }) + .fail(function() { + alert(t('core', 'Error loading file exists template')); + }); + } //} }, _getFilePickerTemplate: function() { @@ -529,13 +530,6 @@ var OCdialogs = { } ); }, - _determineValue: function(element) { - if ( $(element).attr('type') === 'checkbox' ) { - return element.checked; - } else { - return $(element).val(); - } - }, /** * fills the filepicker with files @@ -627,7 +621,6 @@ var OCdialogs = { this.$filelist.find('.filepicker_element_selected').removeClass('filepicker_element_selected'); } $element.toggleClass('filepicker_element_selected'); - return; } else if ( $element.data('type') === 'dir' ) { this._fillFilePicker(this.$filePicker.data('path') + '/' + $element.data('entryname')); } diff --git a/core/js/share.js b/core/js/share.js index ef71cc7999a..5cabc614563 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -331,6 +331,26 @@ OC.Share={ .append( insert ) .appendTo( ul ); }; + $('#email').autocomplete({ + minLength: 1, + source: function (search, response) { + $.get(OC.filePath('core', 'ajax', 'share.php'), { fetch: 'getShareWithEmail', search: search.term }, function(result) { + if (result.status == 'success' && result.data.length > 0) { + response(result.data); + } + }); + }, + select: function( event, item ) { + $('#email').val(item.item.email); + return false; + } + }) + .data("ui-autocomplete")._renderItem = function( ul, item ) { + return $( "<li>" ) + .append( "<a>" + item.displayname + "<br>" + item.email + "</a>" ) + .appendTo( ul ); + }; + } else { html += '<input id="shareWith" type="text" placeholder="'+t('core', 'Resharing is not allowed')+'" style="width:90%;" disabled="disabled"/>'; html += '</div>'; diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 89056807788..ccd9f7a1288 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -147,19 +147,19 @@ describe('Core base tests', function() { }); describe('Images', function() { it('Generates image path with given extension', function() { - var svgSupportStub = sinon.stub(window, 'SVGSupport', function() { return true; }); + var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return true; }); expect(OC.imagePath('core', 'somefile.jpg')).toEqual(OC.webroot + '/core/img/somefile.jpg'); expect(OC.imagePath(TESTAPP, 'somefile.jpg')).toEqual(TESTAPP_ROOT + '/img/somefile.jpg'); svgSupportStub.restore(); }); it('Generates image path with svg extension when svg support exists', function() { - var svgSupportStub = sinon.stub(window, 'SVGSupport', function() { return true; }); + var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return true; }); expect(OC.imagePath('core', 'somefile')).toEqual(OC.webroot + '/core/img/somefile.svg'); expect(OC.imagePath(TESTAPP, 'somefile')).toEqual(TESTAPP_ROOT + '/img/somefile.svg'); svgSupportStub.restore(); }); it('Generates image path with png ext when svg support is not available', function() { - var svgSupportStub = sinon.stub(window, 'SVGSupport', function() { return false; }); + var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return false; }); expect(OC.imagePath('core', 'somefile')).toEqual(OC.webroot + '/core/img/somefile.png'); expect(OC.imagePath(TESTAPP, 'somefile')).toEqual(TESTAPP_ROOT + '/img/somefile.png'); svgSupportStub.restore(); diff --git a/core/l10n/ast.php b/core/l10n/ast.php index 9ae1685347c..0fcda328dc0 100644 --- a/core/l10n/ast.php +++ b/core/l10n/ast.php @@ -1,6 +1,7 @@ <?php $TRANSLATIONS = array( "Updated database" => "Base de datos anovada", +"Invalid image" => "Imaxe inválida", "Sunday" => "Domingu", "Monday" => "Llunes", "Tuesday" => "Martes", @@ -41,6 +42,7 @@ $TRANSLATIONS = array( "Continue" => "Continuar", "Shared" => "Compartíu", "Share" => "Compartir", +"Error" => "Fallu", "Share link" => "Compartir enllaz", "Password" => "Contraseña", "Send" => "Unviar", @@ -62,6 +64,7 @@ $TRANSLATIONS = array( "Reset" => "Reaniciar", "For the best results, please consider using a GNU/Linux server instead." => "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.", "Personal" => "Personal", +"Users" => "Usuarios", "Cheers!" => "¡Salú!", "will be used" => "usaráse", "Finishing …" => "Finando ...", diff --git a/core/l10n/de.php b/core/l10n/de.php index 4d8c583e164..fabf35440cb 100644 --- a/core/l10n/de.php +++ b/core/l10n/de.php @@ -51,6 +51,7 @@ $TRANSLATIONS = array( "_{count} file conflict_::_{count} file conflicts_" => array("{count} Dateikonflikt","{count} Dateikonflikte"), "One file conflict" => "Ein Dateikonflikt", "New Files" => "Neue Dateien", +"Already existing files" => "Die Dateien existieren bereits", "Which files do you want to keep?" => "Welche Dateien möchtest Du behalten?", "If you select both versions, the copied file will have a number added to its name." => "Wenn Du beide Versionen auswählst, erhält die kopierte Datei eine Zahl am Ende des Dateinamens.", "Cancel" => "Abbrechen", diff --git a/core/l10n/de_DE.php b/core/l10n/de_DE.php index 900d3c03172..a65714f26f6 100644 --- a/core/l10n/de_DE.php +++ b/core/l10n/de_DE.php @@ -51,6 +51,7 @@ $TRANSLATIONS = array( "_{count} file conflict_::_{count} file conflicts_" => array("{count} Dateikonflikt","{count} Dateikonflikte"), "One file conflict" => "Ein Dateikonflikt", "New Files" => "Neue Dateien", +"Already existing files" => "Die Dateien existieren bereits", "Which files do you want to keep?" => "Welche Dateien möchten Sie behalten?", "If you select both versions, the copied file will have a number added to its name." => "Wenn Sie beide Versionen auswählen, erhält die kopierte Datei eine Zahl am Ende des Dateinamens.", "Cancel" => "Abbrechen", diff --git a/core/l10n/fr.php b/core/l10n/fr.php index 2475eddee8a..623f129c860 100644 --- a/core/l10n/fr.php +++ b/core/l10n/fr.php @@ -51,6 +51,7 @@ $TRANSLATIONS = array( "_{count} file conflict_::_{count} file conflicts_" => array("{count} fichier en conflit","{count} fichiers en conflit"), "One file conflict" => "Un conflit de fichier", "New Files" => "Nouveaux fichiers", +"Already existing files" => "Fichiers déjà existants", "Which files do you want to keep?" => "Quels fichiers désirez-vous garder ?", "If you select both versions, the copied file will have a number added to its name." => "Si vous sélectionnez les deux versions, un nombre sera ajouté au nom du fichier copié.", "Cancel" => "Annuler", diff --git a/core/l10n/it.php b/core/l10n/it.php index 43e9752f5e0..98d0d5e3b0e 100644 --- a/core/l10n/it.php +++ b/core/l10n/it.php @@ -51,6 +51,7 @@ $TRANSLATIONS = array( "_{count} file conflict_::_{count} file conflicts_" => array("{count} file in conflitto","{count} file in conflitto"), "One file conflict" => "Un file in conflitto", "New Files" => "File nuovi", +"Already existing files" => "File già esistenti", "Which files do you want to keep?" => "Quali file vuoi mantenere?", "If you select both versions, the copied file will have a number added to its name." => "Se selezioni entrambe le versioni, sarà aggiunto un numero al nome del file copiato.", "Cancel" => "Annulla", diff --git a/core/l10n/tr.php b/core/l10n/tr.php index 7e75cdf4b01..8f9c60c157b 100644 --- a/core/l10n/tr.php +++ b/core/l10n/tr.php @@ -42,7 +42,7 @@ $TRANSLATIONS = array( "months ago" => "ay önce", "last year" => "geçen yıl", "years ago" => "yıl önce", -"Choose" => "seç", +"Choose" => "Seç", "Error loading file picker template: {error}" => "Dosya seçici şablonu yüklenirken hata: {error}", "Yes" => "Evet", "No" => "Hayır", |