From b5a08b959603ee14324ee11212e31e09e1c58901 Mon Sep 17 00:00:00 2001 From: Thierry Poinot Date: Mon, 6 Jul 2015 14:15:39 +0200 Subject: [PATCH 1/2] adding french language in navbar --- assets/templates/navbar.html | 1 + dist/cached-templates.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/templates/navbar.html b/assets/templates/navbar.html index cb8a6a60..b43c1556 100644 --- a/assets/templates/navbar.html +++ b/assets/templates/navbar.html @@ -26,6 +26,7 @@
  • {{"english" | translate}}
  • {{"spanish" | translate}}
  • {{"portuguese" | translate}}
  • +
  • {{"french" | translate}}
  • \n

    {{\"confirm\" | translate}}

    \n \n
    \n {{\'sure_to_delete\' | translate}} {{temp.model.name}} ?\n
    \n
    \n
    \n \n \n
    \n \n \n \n\n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\'change_name_move\' | translate}}

    \n
    \n
    \n \n \n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\'copy_file\' | translate}}

    \n
    \n
    \n \n \n\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\'compress\' | translate}}

    \n
    \n
    \n
    \n
    {{\'compression_started\' | translate}}
    \n
    \n
    \n
    \n {{\'sure_to_start_compression_with\' | translate}} {{temp.model.name}} ?\n
    \n
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\'extract_item\' | translate}}

    \n
    \n
    \n
    \n
    {{\'extraction_started\' | translate}}
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n \n

    {{\'edit_file\' | translate}}

    \n
    \n
    \n \n {{\'loading\' | translate}} ...\n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\'create_folder\' | translate}}

    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\"upload_file\" | translate}}

    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{\"uploading\" | translate}} ...\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n

    {{\'change_permissions\' | translate}}

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\'permissions\' | translate}}{{\'exec\' | translate}}{{\'read\' | translate}}{{\'write\' | translate}}
    {{permTypeKey | translate}}\n \n
    \n
    \n \n
    \n
    \n \n {{\'original\' | translate}}: {{temp.model.perms.toCode(temp.model.type === \'dir\'?\'d\':\'-\')}} ({{temp.model.perms.toOctal()}})\n \n \n {{\'changes\' | translate}}: {{temp.tempModel.perms.toCode(temp.model.type === \'dir\'?\'d\':\'-\')}} ({{temp.tempModel.perms.toOctal()}})\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n

    {{\"select_destination_folder\" | translate}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n\n\n"); -$templateCache.put("assets/templates/navbar.html",""); +$templateCache.put("assets/templates/navbar.html",""); $templateCache.put("assets/templates/sidebar.html","\n\n");}]); \ No newline at end of file From 9279bdddbec536a60b35ec6d8ae96364c5bd7fb4 Mon Sep 17 00:00:00 2001 From: Thierry Poinot Date: Mon, 6 Jul 2015 14:21:07 +0200 Subject: [PATCH 2/2] ajout french translation into navbar for each language --- assets/js/translations.js | 7 ++++++- dist/angular-filemanager.min.js | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/assets/js/translations.js b/assets/js/translations.js index 52322af4..695eab1a 100644 --- a/assets/js/translations.js +++ b/assets/js/translations.js @@ -7,6 +7,7 @@ english: "English", spanish: "Spanish", portuguese: "Portuguese", + french: "French", confirm: "Confirm", cancel: "Cancel", close: "Close", @@ -87,6 +88,7 @@ english: "Inglês", spanish: "Espanhol", portuguese: "Portugues", + french: "Francês", confirm: "Confirmar", cancel: "Cancelar", close: "Desligar", @@ -167,6 +169,7 @@ english: "Ingles", spanish: "Español", portuguese: "Portugues", + french: "Francés", confirm: "Confirmar", cancel: "Cancelar", close: "Cerrar", @@ -242,10 +245,11 @@ }); $translateProvider.translations('fr', { filemanager: "Gestionnaire de fichier", - language: "Langage", + language: "Langue", english: "Anglais", spanish: "Espagnol", portuguese: "Portugais", + french: "Français", confirm: "Confirmer", cancel: "Annuler", close: "Fermer", @@ -321,3 +325,4 @@ }); }]); })(angular); +x \ No newline at end of file diff --git a/dist/angular-filemanager.min.js b/dist/angular-filemanager.min.js index 756e2422..2ea16182 100644 --- a/dist/angular-filemanager.min.js +++ b/dist/angular-filemanager.min.js @@ -1 +1 @@ -!function(e,r,o){"use strict";var t=r.module("FileManagerApp",["pascalprecht.translate","ngCookies"]);t.directive("angularFileManager",["$parse","fileManagerConfig",function(e,r){return{restrict:"EA",templateUrl:r.tplPath+"/index.html"}}]),t.directive("ngFile",["$parse",function(e){return{restrict:"A",link:function(r,o,t){var n=e(t.ngFile),i=n.assign;o.bind("change",function(){r.$apply(function(){i(r,o[0].files)})})}}}]),t.directive("ngRightClick",["$parse",function(e){return function(r,o,t){var n=e(t.ngRightClick);o.bind("contextmenu",function(e){r.$apply(function(){e.preventDefault(),n(r,{$event:e})})})}}]),t.filter("strLimit",["$filter",function(e){return function(r,o){return r.length<=o?r:e("limitTo")(r,o)+"..."}}]);var n=".main-navigation .table-files td a, .iconset a.thumbnail";o(e.document).on("shown.bs.modal",".modal",function(){var e=this,r=setTimeout(function(){o("[autofocus]",e).focus(),r&&clearTimeout(r)},100)}),o(e.document).on("click",function(){o("#context-menu").hide()}),o(e.document).on("contextmenu",n,function(e){o("#context-menu").hide().css({left:e.pageX,top:e.pageY}).show(),e.preventDefault()})}(window,angular,jQuery),function(e){"use strict";e.module("FileManagerApp").service("chmod",function(){var e=function(e){if(this.owner=this.getRwxObj(),this.group=this.getRwxObj(),this.others=this.getRwxObj(),e){var r=isNaN(e)?this.convertfromCode(e):this.convertfromOctal(e);if(!r)throw new Error("Invalid input data");this.owner=r.owner,this.group=r.group,this.others=r.others}};return e.prototype.toOctal=function(e,r){var o=["owner","group","others"],t=[];for(var n in o){var i=o[n];t[n]=this[i].read&&this.octalValues.read||0,t[n]+=this[i].write&&this.octalValues.write||0,t[n]+=this[i].exec&&this.octalValues.exec||0}return(e||"")+t.join("")+(r||"")},e.prototype.toCode=function(e,r){var o=["owner","group","others"],t=[];for(var n in o){var i=o[n];t[n]=this[i].read&&this.codeValues.read||"-",t[n]+=this[i].write&&this.codeValues.write||"-",t[n]+=this[i].exec&&this.codeValues.exec||"-"}return(e||"")+t.join("")+(r||"")},e.prototype.getRwxObj=function(){return{read:!1,write:!1,exec:!1}},e.prototype.octalValues={read:4,write:2,exec:1},e.prototype.codeValues={read:"r",write:"w",exec:"x"},e.prototype.convertfromCode=function(e){if(e=(""+e).replace(/\s/g,""),e=10===e.length?e.substr(1):e,/^[-rwx]{9}$/.test(e)){var r=[],o=e.match(/.{1,3}/g);for(var t in o){var n=this.getRwxObj();n.read=/r/.test(o[t]),n.write=/w/.test(o[t]),n.exec=/x/.test(o[t]),r.push(n)}return{owner:r[0],group:r[1],others:r[2]}}},e.prototype.convertfromOctal=function(e){if(e=(""+e).replace(/\s/g,""),e=4===e.length?e.substr(1):e,/^[0-7]{3}$/.test(e)){var r=[],o=e.match(/.{1}/g);for(var t in o){var n=this.getRwxObj();n.read=/[4567]/.test(o[t]),n.write=/[2367]/.test(o[t]),n.exec=/[1357]/.test(o[t]),r.push(n)}return{owner:r[0],group:r[1],others:r[2]}}},e})}(angular),function(e){"use strict";e.module("FileManagerApp").constant("fileManagerConfig",{appName:"https://github.com/joni2back/angular-filemanager",defaultLang:"en",listUrl:"bridges/php/handler.php",uploadUrl:"bridges/php/handler.php",renameUrl:"bridges/php/handler.php",copyUrl:"bridges/php/handler.php",removeUrl:"bridges/php/handler.php",editUrl:"bridges/php/handler.php",getContentUrl:"bridges/php/handler.php",createFolderUrl:"bridges/php/handler.php",downloadFileUrl:"bridges/php/handler.php",compressUrl:"bridges/php/handler.php",extractUrl:"bridges/php/handler.php",permissionsUrl:"bridges/php/handler.php",allowedActions:{rename:!0,copy:!0,edit:!0,changePermissions:!0,compress:!0,compressChooseName:!0,extract:!0,download:!0,preview:!0,remove:!0},enablePermissionsRecursive:!0,isEditableFilePattern:/\.(txt|html?|aspx?|ini|pl|py|md|css|js|log|htaccess|htpasswd|json|sql|xml|xslt?|sh|rb|as|bat|cmd|coffee|php[3-6]?|java|c|cbl|go|h|scala|vb)$/i,isImageFilePattern:/\.(jpe?g|gif|bmp|png|svg|tiff?)$/i,isExtractableFilePattern:/\.(gz|tar|rar|g?zip)$/i,tplPath:"assets/templates"})}(angular),function(e,r,o){"use strict";r.module("FileManagerApp").controller("FileManagerCtrl",["$scope","$translate","$cookies","fileManagerConfig","item","fileNavigator","fileUploader",function(r,t,n,i,a,s,l){r.config=i,r.appName=i.appName,r.orderProp=["model.type","model.name"],r.query="",r.temp=new a,r.fileNavigator=new s,r.fileUploader=l,r.uploadFileList=[],r.viewTemplate=n.viewTemplate||"main-table.html",r.setTemplate=function(e){r.viewTemplate=n.viewTemplate=r.config.tplPath+e},r.changeLanguage=function(e){return e?t.use(n.language=e):void t.use(n.language||i.defaultLang)},r.touch=function(e){e=e&&e.revert&&e||new a,e.revert&&e.revert(),r.temp=e},r.smartRightClick=function(e){r.touch(e)},r.smartClick=function(e){return e.isFolder()?r.fileNavigator.folderClick(e):e.isImage()?e.preview():e.isEditable()?(e.getContent(),r.touch(e),void o("#edit").modal("show")):void 0},r.edit=function(e){e.edit(function(){o("#edit").modal("hide")})},r.changePermissions=function(e){e.changePermissions(function(){o("#changepermissions").modal("hide")})},r.copy=function(e){var n=e.tempModel.path.join()===e.model.path.join();return n&&r.fileNavigator.fileNameExists(e.tempModel.name)?(e.error=t.instant("error_invalid_filename"),!1):void e.copy(function(){r.fileNavigator.refresh(),o("#copy").modal("hide")})},r.compress=function(e){e.compress(function(){e.success=!0,r.fileNavigator.refresh()},function(){e.success=!1})},r.extract=function(e){e.extract(function(){e.success=!0,r.fileNavigator.refresh()},function(){e.success=!1})},r.remove=function(e){e.remove(function(){r.fileNavigator.refresh(),o("#delete").modal("hide")})},r.rename=function(e){var n=e.tempModel.path.join()===e.model.path.join();return n&&r.fileNavigator.fileNameExists(e.tempModel.name)?(e.error=t.instant("error_invalid_filename"),!1):void e.rename(function(){r.fileNavigator.refresh(),o("#rename").modal("hide")})},r.createFolder=function(e){var n=e.tempModel.name&&e.tempModel.name.trim();return e.tempModel.type="dir",e.tempModel.path=r.fileNavigator.currentPath,!n||r.fileNavigator.fileNameExists(n)?(r.temp.error=t.instant("error_invalid_filename"),!1):void e.createFolder(function(){r.fileNavigator.refresh(),o("#newfolder").modal("hide")})},r.uploadFiles=function(){r.fileUploader.upload(r.uploadFileList,r.fileNavigator.currentPath).success(function(){r.fileNavigator.refresh(),o("#uploadfile").modal("hide")}).error(function(e){var o=e.result&&e.result.error||t.instant("error_uploading_files");r.temp.error=o})},r.getQueryParam=function(r){var o;return e.location.search.substr(1).split("&").forEach(function(e){r===e.split("=")[0]&&(o=e.split("=")[1])}),o},r.changeLanguage(r.getQueryParam("lang")),r.isWindows="Windows"===r.getQueryParam("server"),r.fileNavigator.refresh()}])}(window,angular,jQuery),function(e){"use strict";e.module("FileManagerApp").service("fileNavigator",["$http","fileManagerConfig","item",function(r,o,t){r.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var n=function(){this.requesting=!1,this.fileList=[],this.currentPath=[],this.history=[],this.error=""};return n.prototype.refresh=function(n,i){var a=this,s=a.currentPath.join("/"),l={params:{mode:"list",onlyFolders:!1,path:"/"+s}};a.requesting=!0,a.fileList=[],a.error="",r.post(o.listUrl,l).success(function(r){return a.fileList=[],e.forEach(r.result,function(e){a.fileList.push(new t(e,a.currentPath))}),a.requesting=!1,a.buildTree(s),r.error?(a.error=r.error,"function"==typeof i&&i(r)):void("function"==typeof n&&n(r))}).error(function(e){a.requesting=!1,"function"==typeof i&&i(e)})},n.prototype.buildTree=function(e){function r(e,o,t){var n=t?t+"/"+o.name:o.name;if(e.name.trim()&&0!==t.trim().indexOf(e.name)&&(e.nodes=[]),e.name!==t)for(var i in e.nodes)r(e.nodes[i],o,t);else{for(var a in e.nodes)if(e.nodes[a].name===n)return;e.nodes.push({name:n,nodes:[]})}e.nodes=e.nodes.sort(function(e,r){return e.name