]> git.mxchange.org Git - friendica.git/commitdiff
[frio] Add Dropzone dictionary strings to l10n
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 9 Apr 2023 12:15:20 +0000 (08:15 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 9 Apr 2023 12:24:12 +0000 (08:24 -0400)
src/App/Page.php
view/js/dropzone-factory.js
view/templates/head.tpl
view/theme/frio/templates/head.tpl
view/theme/frio/templates/js_strings.tpl

index 6849656f40daf1724d7529626a81d11a5f66dd4e..28fc26a7029f8a98d767704d2ae4353416721e6e 100644 (file)
@@ -243,22 +243,40 @@ class Page implements ArrayAccess
                 * being first
                 */
                $this->page['htmlhead'] = Renderer::replaceMacros($tpl, [
+                       '$l10n' => [
+                               'delitem'      => $l10n->t('Delete this item?'),
+                               'blockAuthor'  => $l10n->t('Block this author? They won\'t be able to follow you nor see your public posts, and you won\'t be able to see their posts and their notifications.'),
+                               'ignoreAuthor' => $l10n->t('Ignore this author? You won\'t be able to see their posts and their notifications.'),
+
+                               'likeError'     => $l10n->t('Like not successful'),
+                               'dislikeError'  => $l10n->t('Dislike not successful'),
+                               'announceError' => $l10n->t('Sharing not successful'),
+                               'attendError'   => $l10n->t('Attendance unsuccessful'),
+                               'srvError'      => $l10n->t('Backend error'),
+                               'netError'      => $l10n->t('Network error'),
+
+                               // Dropzone
+                               'dictDefaultMessage'           => $l10n->t('Drop files here to upload'),
+                               'dictFallbackMessage'          => $l10n->t("Your browser does not support drag and drop file uploads."),
+                               'dictFallbackText'             => $l10n->t('Please use the fallback form below to upload your files like in the olden days.'),
+                               'dictFileTooBig'               => $l10n->t('File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.'),
+                               'dictInvalidFileType'          => $l10n->t("You can't upload files of this type."),
+                               'dictResponseError'            => $l10n->t('Server responded with {{statusCode}} code.'),
+                               'dictCancelUpload'             => $l10n->t('Cancel upload'),
+                               'dictUploadCanceled'           => $l10n->t('Upload canceled.'),
+                               'dictCancelUploadConfirmation' => $l10n->t('Are you sure you want to cancel this upload?'),
+                               'dictRemoveFile'               => $l10n->t('Remove file'),
+                               'dictMaxFilesExceeded'         => $l10n->t("You can't upload any more files."),
+                       ],
+
                        '$local_user'      => $localUID,
                        '$generator'       => 'Friendica' . ' ' . App::VERSION,
-                       '$delitem'         => $l10n->t('Delete this item?'),
-                       '$blockAuthor'     => $l10n->t('Block this author? They won\'t be able to follow you nor see your public posts, and you won\'t be able to see their posts and their notifications.'),
-                       '$ignoreAuthor'    => $l10n->t('Ignore this author? You won\'t be able to see their posts and their notifications.'),
                        '$update_interval' => $interval,
                        '$shortcut_icon'   => $shortcut_icon,
                        '$touch_icon'      => $touch_icon,
                        '$block_public'    => intval($config->get('system', 'block_public')),
                        '$stylesheets'     => $this->stylesheets,
-                       '$likeError'       => $l10n->t('Like not successful'),
-                       '$dislikeError'    => $l10n->t('Dislike not successful'),
-                       '$announceError'   => $l10n->t('Sharing not successful'),
-                       '$attendError'     => $l10n->t('Attendance unsuccessful'),
-                       '$srvError'        => $l10n->t('Backend error'),
-                       '$netError'        => $l10n->t('Network error'),
+
                        // Dropzone
                        '$max_imagesize' => round(\Friendica\Util\Strings::getBytesFromShorthand($config->get('system', 'maximagesize')) / 1000000, 1),
 
index ca77bb6d500652fcfbb4fbe3d4b36164bdc39555..4f14551be8a270b0bc65e5be806f9981a0c7684a 100644 (file)
@@ -1,4 +1,5 @@
-var DzFactory = function () {
+Dropzone.autoDiscover = false;
+var DzFactory = function (max_imagesize) {
        this.createDropzone = function(dropSelector, textareaElementId) {
                return new Dropzone(dropSelector, {
                        paramName: 'userfile', // The name that will be used to transfer the file
@@ -6,6 +7,17 @@ var DzFactory = function () {
                        url: '/media/photo/upload?album=',
                        acceptedFiles: 'image/*',
                        clickable: true,
+                       dictDefaultMessage: dzStrings.dictDefaultMessage,
+                       dictFallbackMessage: dzStrings.dictFallbackMessage,
+                       dictFallbackText: dzStrings.dictFallbackText,
+                       dictFileTooBig: dzStrings.dictFileTooBig,
+                       dictInvalidFileType: dzStrings.dictInvalidFileType,
+                       dictResponseError: dzStrings.dictResponseError,
+                       dictCancelUpload: dzStrings.dictCancelUpload,
+                       dictUploadCanceled: dzStrings.dictUploadCanceled,
+                       dictCancelUploadConfirmation: dzStrings.dictCancelUploadConfirmation,
+                       dictRemoveFile: dzStrings.dictRemoveFile,
+                       dictMaxFilesExceeded: dzStrings.dictMaxFilesExceeded,
                        accept: function(file, done) {
                                done();
                        },
@@ -54,9 +66,10 @@ var DzFactory = function () {
        };
 
        this.setupDropzone = function(dropSelector, textareaElementId) {
+               const self = this;
                var dropzone = this.createDropzone(dropSelector, textareaElementId);
                $(dropSelector).on('paste', function(event) {
-                       dzFactory.copyPaste(event, dropzone);
+                       self.copyPaste(event, dropzone);
                })
        };
 }
index 2ef1bfe08fdd27ea30f5a3c493301bed5f0ef3d3..f37fd824e4ded0c27ed5b0121381ee23dc334e92 100644 (file)
 <script type="text/javascript" src="view/asset/imagesloaded/imagesloaded.pkgd.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
 <script type="text/javascript" src="view/asset/base64/base64.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
 <script type="text/javascript" src="view/asset/dompurify/dist/purify.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
+<script type="text/javascript">
+       const updateInterval = {{$update_interval}};
+       const localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}};
+</script>
 <script type="text/javascript" src="view/js/main.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
+
 <script>
 
        // Lifted from https://css-tricks.com/snippets/jquery/move-cursor-to-end-of-textarea-or-input/
index 7c5ae59463f98e35e43f2a1c97f5a71752850825..36b6deb07baf9572b1497555c3a6b08b3ed87334 100644 (file)
        <script type="text/javascript" src="view/asset/base64/base64.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
        <script type="text/javascript" src="view/asset/dompurify/dist/purify.min.js?v={{$smarty.const.FRIENDICA_VERSION}}">
        </script>
+       <script type="text/javascript">
+               const updateInterval = {{$update_interval}};
+               const localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}};
+       </script>
        <script type="text/javascript" src="view/js/main.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
 
        <script type="text/javascript"
        <script type="text/javascript" src="view/theme/frio/js/textedit.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
        <script type="text/javascript" src="vendor/enyo/dropzone/dist/min/dropzone.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
        <script type="text/javascript" src="view/js/dropzone-factory.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
-       <script type="text/javascript"> max_imagesize = {{$max_imagesize}}; var dzFactory = new DzFactory(); Dropzone.autoDiscover = false; </script>
+       <script type="text/javascript"> const dzFactory = new DzFactory({{$max_imagesize}});</script>
 
        {{* Include the strings which are needed for some js functions (e.g. translation)
 They are loaded into the html <head> so that js functions can use them *}}
index bf418a4be259a35e2b80eed5a4faf90a0086d884..0eb39d8eab099704b67180cca2fab63924358d04 100644 (file)
@@ -2,24 +2,34 @@
 {{* Strings which are needed for some js functions (e.g. translation or the interval for page update)
 They are loaded into the html <head> so that js functions can use them *}}
 <script type="text/javascript">
-       var updateInterval = {{$update_interval}};
-
-       var localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}};
-       var aStr = {
-               'delitem'      : "{{$delitem|escape:'javascript' nofilter}}",
-               'blockAuthor'  : "{{$blockAuthor|escape:'javascript' nofilter}}",
-               'ignoreAuthor' : "{{$ignoreAuthor|escape:'javascript' nofilter}}",
+       const aStr = {
+               delitem      : "{{$l10n.delitem|escape:'javascript' nofilter}}",
+               blockAuthor  : "{{$l10n.blockAuthor|escape:'javascript' nofilter}}",
+               ignoreAuthor : "{{$l10n.ignoreAuthor|escape:'javascript' nofilter}}",
+       };
+       const aActErr = {
+               like       : "{{$l10n.likeError|escape:'javascript' nofilter}}",
+               dislike    : "{{$l10n.dislikeError|escape:'javascript' nofilter}}",
+               announce   : "{{$l10n.announceError|escape:'javascript' nofilter}}",
+               attendyes  : "{{$l10n.attendError|escape:'javascript' nofilter}}",
+               attendno   : "{{$l10n.attendError|escape:'javascript' nofilter}}",
+               attendmaybe: "{{$l10n.attendError|escape:'javascript' nofilter}}",
+       };
+       const aErrType = {
+               srvErr: "{{$l10n.srvError|escape:'javascript' nofilter}}",
+               netErr: "{{$l10n.netError|escape:'javascript' nofilter}}",
+       };
+       const dzStrings = {
+               dictDefaultMessage          : "{{$l10n.dictDefaultMessage|escape:'javascript' nofilter}}",
+               dictFallbackMessage         : "{{$l10n.dictFallbackMessage|escape:'javascript' nofilter}}",
+               dictFallbackText            : "{{$l10n.dictFallbackText|escape:'javascript' nofilter}}",
+               dictFileTooBig              : "{{$l10n.dictFileTooBig|escape:'javascript' nofilter}}",
+               dictInvalidFileType         : "{{$l10n.dictInvalidFileType|escape:'javascript' nofilter}}",
+               dictResponseError           : "{{$l10n.dictResponseError|escape:'javascript' nofilter}}",
+               dictCancelUpload            : "{{$l10n.dictCancelUpload|escape:'javascript' nofilter}}",
+               dictUploadCanceled          : "{{$l10n.dictUploadCanceled|escape:'javascript' nofilter}}",
+               dictCancelUploadConfirmation: "{{$l10n.dictCancelUploadConfirmation|escape:'javascript' nofilter}}",
+               dictRemoveFile              : "{{$l10n.dictRemoveFile|escape:'javascript' nofilter}}",
+               dictMaxFilesExceeded        : "{{$l10n.dictMaxFilesExceeded|escape:'javascript' nofilter}}",
        };
-        var aActErr = {
-               'like'          : "{{$likeError}}",
-               'dislike'       : "{{$dislikeError}}",
-               'announce'      : "{{$announceError}}",
-               'attendyes'     : "{{$attendError}}",
-               'attendno'      : "{{$attendError}}",
-               'attendmaybe'   : "{{$attendError}}",
-        };
-        var aErrType = {
-               'srvErr'        : "{{$srvError}}",
-               'netErr'        : "{{$netError}}",
-        };
 </script>