Template plugin for the assignment of language variables in javascript code
authorMarcel Werk <burntime@woltlab.com>
Sun, 23 Aug 2020 23:01:43 +0000 (01:01 +0200)
committerMarcel Werk <burntime@woltlab.com>
Sun, 23 Aug 2020 23:01:43 +0000 (01:01 +0200)
Closes #3530

119 files changed:
com.woltlab.wcf/templates/__commentJavaScript.tpl
com.woltlab.wcf/templates/__labelFormField.tpl
com.woltlab.wcf/templates/__messageFormPoll.tpl
com.woltlab.wcf/templates/__messageFormPollInline.tpl
com.woltlab.wcf/templates/__messageQuoteManager.tpl
com.woltlab.wcf/templates/__multipleSelectionFormField.tpl
com.woltlab.wcf/templates/__pollOptionsFormField.tpl
com.woltlab.wcf/templates/__singleSelectionFormField.tpl
com.woltlab.wcf/templates/__wysiwygAttachmentFormField.tpl
com.woltlab.wcf/templates/__wysiwygCmsToolbar.tpl
com.woltlab.wcf/templates/__wysiwygPreviewFormButton.tpl
com.woltlab.wcf/templates/aclPermissions.tpl
com.woltlab.wcf/templates/article.tpl
com.woltlab.wcf/templates/articleAdd.tpl
com.woltlab.wcf/templates/articleAddDialog.tpl
com.woltlab.wcf/templates/articleList.tpl
com.woltlab.wcf/templates/avatarEdit.tpl
com.woltlab.wcf/templates/boxRecentActivity.tpl
com.woltlab.wcf/templates/categoryArticleList.tpl
com.woltlab.wcf/templates/codeMetaCode.tpl
com.woltlab.wcf/templates/fontAwesomeJavaScript.tpl
com.woltlab.wcf/templates/googleMapsJavaScript.tpl
com.woltlab.wcf/templates/groupedUserList.tpl
com.woltlab.wcf/templates/groupedUserReactionList.tpl
com.woltlab.wcf/templates/headInclude.tpl
com.woltlab.wcf/templates/headIncludeJavaScript.tpl
com.woltlab.wcf/templates/imageViewer.tpl
com.woltlab.wcf/templates/mediaJavaScript.tpl
com.woltlab.wcf/templates/membersList.tpl
com.woltlab.wcf/templates/messageFormAttachments.tpl
com.woltlab.wcf/templates/messageFormPreviewButton.tpl
com.woltlab.wcf/templates/moderationActivation.tpl
com.woltlab.wcf/templates/moderationReport.tpl
com.woltlab.wcf/templates/multipleLanguageInputJavascript.tpl
com.woltlab.wcf/templates/notificationList.tpl
com.woltlab.wcf/templates/notificationSettings.tpl
com.woltlab.wcf/templates/pageHeaderUser.tpl
com.woltlab.wcf/templates/recentActivities.tpl
com.woltlab.wcf/templates/recentActivityList.tpl
com.woltlab.wcf/templates/register.tpl
com.woltlab.wcf/templates/scrollablePageCheckboxList.tpl
com.woltlab.wcf/templates/signatureEdit.tpl
com.woltlab.wcf/templates/spoilerMetaCode.tpl
com.woltlab.wcf/templates/team.tpl
com.woltlab.wcf/templates/unreadArticleList.tpl
com.woltlab.wcf/templates/uploadFieldComponent.tpl
com.woltlab.wcf/templates/user.tpl
com.woltlab.wcf/templates/userBirthdayList.tpl
com.woltlab.wcf/templates/userProfileLikes.tpl
com.woltlab.wcf/templates/userProfilePreview.tpl
com.woltlab.wcf/templates/usersOnlineList.tpl
com.woltlab.wcf/templates/watchedArticleList.tpl
com.woltlab.wcf/templates/wysiwyg.tpl
wcfsetup/install/files/acp/templates/__boxAddContent.tpl
wcfsetup/install/files/acp/templates/__boxPipGui.tpl
wcfsetup/install/files/acp/templates/__devtoolsProjectExcludedPackagesFormField.tpl
wcfsetup/install/files/acp/templates/__devtoolsProjectInstallationJavaScript.tpl
wcfsetup/install/files/acp/templates/__devtoolsProjectInstructionsFormField.tpl
wcfsetup/install/files/acp/templates/__devtoolsProjectOptionalPackagesFormField.tpl
wcfsetup/install/files/acp/templates/__devtoolsProjectRequiredPackagesFormField.tpl
wcfsetup/install/files/acp/templates/__labelFormField.tpl
wcfsetup/install/files/acp/templates/__menuPipGui.tpl
wcfsetup/install/files/acp/templates/__messageQuoteManager.tpl
wcfsetup/install/files/acp/templates/__multipleSelectionFormField.tpl
wcfsetup/install/files/acp/templates/__objectTypePipGui.tpl
wcfsetup/install/files/acp/templates/__optionEmailSmtpTest.tpl
wcfsetup/install/files/acp/templates/__optionRewriteRules.tpl
wcfsetup/install/files/acp/templates/__optionRewriteTest.tpl
wcfsetup/install/files/acp/templates/__pageAddContent.tpl
wcfsetup/install/files/acp/templates/__pollOptionsFormField.tpl
wcfsetup/install/files/acp/templates/__singleSelectionFormField.tpl
wcfsetup/install/files/acp/templates/__wysiwygAttachmentFormField.tpl
wcfsetup/install/files/acp/templates/__wysiwygCmsToolbar.tpl
wcfsetup/install/files/acp/templates/__wysiwygPreviewFormButton.tpl
wcfsetup/install/files/acp/templates/aclPermissions.tpl
wcfsetup/install/files/acp/templates/articleAdd.tpl
wcfsetup/install/files/acp/templates/articleAddDialog.tpl
wcfsetup/install/files/acp/templates/articleList.tpl
wcfsetup/install/files/acp/templates/boxAdd.tpl
wcfsetup/install/files/acp/templates/boxAddDialog.tpl
wcfsetup/install/files/acp/templates/cronjobLogList.tpl
wcfsetup/install/files/acp/templates/dataImport.tpl
wcfsetup/install/files/acp/templates/devtoolsNotificationTest.tpl
wcfsetup/install/files/acp/templates/devtoolsProjectPipEntryList.tpl
wcfsetup/install/files/acp/templates/devtoolsProjectSync.tpl
wcfsetup/install/files/acp/templates/fontAwesomeJavaScript.tpl
wcfsetup/install/files/acp/templates/header.tpl
wcfsetup/install/files/acp/templates/imageViewer.tpl
wcfsetup/install/files/acp/templates/languageItemList.tpl
wcfsetup/install/files/acp/templates/mediaJavaScript.tpl
wcfsetup/install/files/acp/templates/mediaList.tpl
wcfsetup/install/files/acp/templates/menuItemAdd.tpl
wcfsetup/install/files/acp/templates/multipleLanguageInputJavascript.tpl
wcfsetup/install/files/acp/templates/notificationPresetSettings.tpl
wcfsetup/install/files/acp/templates/package.tpl
wcfsetup/install/files/acp/templates/packageInstallationConfirm.tpl
wcfsetup/install/files/acp/templates/packageInstallationSetup.tpl
wcfsetup/install/files/acp/templates/packageList.tpl
wcfsetup/install/files/acp/templates/packageStartInstall.tpl
wcfsetup/install/files/acp/templates/packageUpdate.tpl
wcfsetup/install/files/acp/templates/pageAdd.tpl
wcfsetup/install/files/acp/templates/pageAddDialog.tpl
wcfsetup/install/files/acp/templates/pageBoxOrder.tpl
wcfsetup/install/files/acp/templates/pluginStorePurchasedItems.tpl
wcfsetup/install/files/acp/templates/scrollablePageCheckboxList.tpl
wcfsetup/install/files/acp/templates/stat.tpl
wcfsetup/install/files/acp/templates/styleAdd.tpl
wcfsetup/install/files/acp/templates/templateGroupAdd.tpl
wcfsetup/install/files/acp/templates/trophyAdd.tpl
wcfsetup/install/files/acp/templates/uploadFieldComponent.tpl
wcfsetup/install/files/acp/templates/userActivityPointOption.tpl
wcfsetup/install/files/acp/templates/userAdd.tpl
wcfsetup/install/files/acp/templates/userGroupAdd.tpl
wcfsetup/install/files/acp/templates/userList.tpl
wcfsetup/install/files/acp/templates/userMail.tpl
wcfsetup/install/files/acp/templates/wysiwyg.tpl
wcfsetup/install/files/lib/system/WCF.class.php
wcfsetup/install/files/lib/system/template/plugin/JslangCompilerTemplatePlugin.class.php [new file with mode: 0644]
wcfsetup/install/files/lib/system/template/plugin/JslangPrefilterTemplatePlugin.class.php [new file with mode: 0644]

index 3e6d952a8ad9779b0b0ef960efa28bd033ae1a8c..aa34a489602dc8016900b0b502ea643817d40d49 100644 (file)
@@ -1,17 +1,17 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.comment.add': '{lang}wcf.comment.add{/lang}',
-                       'wcf.comment.button.response.add': '{lang}wcf.comment.button.response.add{/lang}',
-                       'wcf.comment.delete.confirmMessage': '{lang}wcf.comment.delete.confirmMessage{/lang}',
-                       'wcf.comment.description': '{lang}wcf.comment.description{/lang}',
-                       'wcf.comment.guestDialog.title': '{lang}wcf.comment.guestDialog.title{/lang}',
-                       'wcf.comment.more': '{lang}wcf.comment.more{/lang}',
-                       'wcf.comment.response.add': '{lang}wcf.comment.response.add{/lang}',
-                       'wcf.comment.response.more': '{lang}wcf.comment.response.more{/lang}',
-                       'wcf.message.error.editorAlreadyInUse': '{lang}wcf.message.error.editorAlreadyInUse{/lang}',
-                       'wcf.moderation.report.reportContent': '{lang}wcf.moderation.report.reportContent{/lang}',
-                       'wcf.moderation.report.success': '{lang}wcf.moderation.report.success{/lang}'
+                       'wcf.comment.add': '{jslang}wcf.comment.add{/jslang}',
+                       'wcf.comment.button.response.add': '{jslang}wcf.comment.button.response.add{/jslang}',
+                       'wcf.comment.delete.confirmMessage': '{jslang}wcf.comment.delete.confirmMessage{/jslang}',
+                       'wcf.comment.description': '{jslang}wcf.comment.description{/jslang}',
+                       'wcf.comment.guestDialog.title': '{jslang}wcf.comment.guestDialog.title{/jslang}',
+                       'wcf.comment.more': '{jslang}wcf.comment.more{/jslang}',
+                       'wcf.comment.response.add': '{jslang}wcf.comment.response.add{/jslang}',
+                       'wcf.comment.response.more': '{jslang}wcf.comment.response.more{/jslang}',
+                       'wcf.message.error.editorAlreadyInUse': '{jslang}wcf.message.error.editorAlreadyInUse{/jslang}',
+                       'wcf.moderation.report.reportContent': '{jslang}wcf.moderation.report.reportContent{/jslang}',
+                       'wcf.moderation.report.success': '{jslang}wcf.moderation.report.success{/jslang}'
                });
                
                new {if $commentHandlerClass|isset}{@$commentHandlerClass}{else}WCF.Comment.Handler{/if}('{@$commentContainerID}');
index 6ce59f485a920d906e8ccde184c8b6a368bb8d3b..a3ca75b729cf5359c43f1e36e46b9fa6ba0de937 100644 (file)
@@ -26,8 +26,8 @@
 <script data-relocate="true">
        require(['Dom/Util', 'Language', 'WoltLabSuite/Core/Form/Builder/Field/Controller/Label'], function(DomUtil, Language, FormBuilderFieldLabel) {
                Language.addObject({
-                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
-                       'wcf.label.withoutSelection': '{lang}wcf.label.withoutSelection{/lang}'
+                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
+                       'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
                });
                
                new FormBuilderFieldLabel(
index e1d8fddc0c933cfaab14724a64cc66798aba6944..c03f5b9f89038e28917dfdcd68c58cbff119bb34 100644 (file)
@@ -2,8 +2,8 @@
        <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.poll.button.addOption': '{lang}wcf.poll.button.addOption{/lang}',
-                               'wcf.poll.button.removeOption': '{lang}wcf.poll.button.removeOption{/lang}'
+                               'wcf.poll.button.addOption': '{jslang}wcf.poll.button.addOption{/jslang}',
+                               'wcf.poll.button.removeOption': '{jslang}wcf.poll.button.removeOption{/jslang}'
                        });
                        
                        new WCF.Poll.Management('pollOptionContainer', [ {implode from=$pollOptions item=pollOption}{ optionID: {@$pollOption[optionID]}, optionValue: '{$pollOption[optionValue]|encodeJS}' }{/implode} ], {@POLL_MAX_OPTIONS});
index 48f4719005a44061f7a2b3855283baa40adf45c8..20c654c789c3d0da8784c33966b9ff2b54920f0b 100644 (file)
@@ -2,10 +2,10 @@
        <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.poll.button.addOption': '{lang}wcf.poll.button.addOption{/lang}',
-                               'wcf.poll.button.removeOption': '{lang}wcf.poll.button.removeOption{/lang}',
-                               'wcf.poll.endTime.error.invalid': '{lang}wcf.poll.endTime.error.invalid{/lang}',
-                               'wcf.poll.maxVotes.error.invalid': '{lang}wcf.poll.maxVotes.error.invalid{/lang}'
+                               'wcf.poll.button.addOption': '{jslang}wcf.poll.button.addOption{/jslang}',
+                               'wcf.poll.button.removeOption': '{jslang}wcf.poll.button.removeOption{/jslang}',
+                               'wcf.poll.endTime.error.invalid': '{jslang}wcf.poll.endTime.error.invalid{/jslang}',
+                               'wcf.poll.maxVotes.error.invalid': '{jslang}wcf.poll.maxVotes.error.invalid{/jslang}'
                        });
                        
                        new WCF.Poll.Management(
@@ -70,4 +70,4 @@
                
                {event name='fields'}
        </div>
-{/if}
\ No newline at end of file
+{/if}
index 45abd51bfe275b236ba30f274d9ceb816c908f95..e8c9c7b0da358c1050ef9509139adb93c7f78a48 100644 (file)
@@ -1,12 +1,12 @@
 WCF.Language.addObject({
-       'wcf.message.quote.insertAllQuotes': '{lang}wcf.message.quote.insertAllQuotes{/lang}',
-       'wcf.message.quote.insertSelectedQuotes': '{lang}wcf.message.quote.insertSelectedQuotes{/lang}',
-       'wcf.message.quote.manageQuotes': '{lang}wcf.message.quote.manageQuotes{/lang}',
-       'wcf.message.quote.quoteSelected': '{lang}wcf.message.quote.quoteSelected{/lang}',
-       'wcf.message.quote.quoteAndReply': '{lang}wcf.message.quote.quoteAndReply{/lang}',
-       'wcf.message.quote.removeAllQuotes': '{lang}wcf.message.quote.removeAllQuotes{/lang}',
-       'wcf.message.quote.removeSelectedQuotes': '{lang}wcf.message.quote.removeSelectedQuotes{/lang}',
-       'wcf.message.quote.showQuotes': '{lang __literal=true}wcf.message.quote.showQuotes{/lang}'
+       'wcf.message.quote.insertAllQuotes': '{jslang}wcf.message.quote.insertAllQuotes{/jslang}',
+       'wcf.message.quote.insertSelectedQuotes': '{jslang}wcf.message.quote.insertSelectedQuotes{/jslang}',
+       'wcf.message.quote.manageQuotes': '{jslang}wcf.message.quote.manageQuotes{/jslang}',
+       'wcf.message.quote.quoteSelected': '{jslang}wcf.message.quote.quoteSelected{/jslang}',
+       'wcf.message.quote.quoteAndReply': '{jslang}wcf.message.quote.quoteAndReply{/jslang}',
+       'wcf.message.quote.removeAllQuotes': '{jslang}wcf.message.quote.removeAllQuotes{/jslang}',
+       'wcf.message.quote.removeSelectedQuotes': '{jslang}wcf.message.quote.removeSelectedQuotes{/jslang}',
+       'wcf.message.quote.showQuotes': '{jslang __literal=true}wcf.message.quote.showQuotes{/jslang}'
 });
 
 {if !$wysiwygSelector|isset}{assign var=wysiwygSelector value=''}{/if}
index 81e6cdcc7d7ded7ffbc0fa638077c5cbcfca4ce4..c13cdd7bef5f13bec5ed0100501fa81d94b8baa4 100644 (file)
@@ -2,13 +2,13 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                        Language.addObject({
-                               'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                               'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                               'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                               'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                               'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                               'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                               'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                               'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                               'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                               'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                               'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                               'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                               'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                               'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                        });
                        
                        new UiItemListFilter('{@$field->getPrefixedId()}_list');
index 290b083de0d5b4649031a1d7044ab043e1ecacc5..e4df57bf6d61dbcfac39b96dd627cf991db8a63b 100644 (file)
@@ -3,9 +3,9 @@
 <script data-relocate="true">
        require(['Dom/Traverse', 'Dom/Util', 'Language', 'WoltLabSuite/Core/Ui/Poll/Editor'], function(DomTraverse, DomUtil, Language, UiPollEditor) {
                Language.addObject({
-                       'wcf.poll.button.addOption': '{lang}wcf.poll.button.addOption{/lang}',
-                       'wcf.poll.button.removeOption': '{lang}wcf.poll.button.removeOption{/lang}',
-                       'wcf.poll.maxVotes.error.invalid': '{lang}wcf.poll.maxVotes.error.invalid{/lang}'
+                       'wcf.poll.button.addOption': '{jslang}wcf.poll.button.addOption{/jslang}',
+                       'wcf.poll.button.removeOption': '{jslang}wcf.poll.button.removeOption{/jslang}',
+                       'wcf.poll.maxVotes.error.invalid': '{jslang}wcf.poll.maxVotes.error.invalid{/jslang}'
                });
                
                new UiPollEditor(
index c3209915a6fda7dc309a26d358e190210a375bd0..6c4f0aad706a182ef7aa5f98dc3bde5f5fa74ed5 100644 (file)
@@ -2,13 +2,13 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                        Language.addObject({
-                               'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                               'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                               'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                               'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                               'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                               'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                               'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                               'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                               'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                               'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                               'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                               'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                               'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                               'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                        });
                        
                        new UiItemListFilter('{@$field->getPrefixedId()}_list');
index c3c821a901ff27330ef9326348ba5986f4ba74f2..a23046b3b6938fd8a58434f9eba6d422fac4531b 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.attachment.upload.error.invalidExtension': '{lang}wcf.attachment.upload.error.invalidExtension{/lang}',
-                       'wcf.attachment.upload.error.tooLarge': '{lang}wcf.attachment.upload.error.tooLarge{/lang}',
-                       'wcf.attachment.upload.error.reachedLimit': '{lang}wcf.attachment.upload.error.reachedLimit{/lang}',
-                       'wcf.attachment.upload.error.reachedRemainingLimit': '{lang}wcf.attachment.upload.error.reachedRemainingLimit{/lang}',
-                       'wcf.attachment.upload.error.uploadFailed': '{lang}wcf.attachment.upload.error.uploadFailed{/lang}',
-                       'wcf.attachment.upload.error.uploadPhpLimit': '{lang}wcf.attachment.upload.error.uploadPhpLimit{/lang}',
-                       'wcf.attachment.insert': '{lang}wcf.attachment.insert{/lang}',
-                       'wcf.attachment.insertAll': '{lang}wcf.attachment.insertAll{/lang}',
-                       'wcf.attachment.insertFull': '{lang}wcf.attachment.insertFull{/lang}',
-                       'wcf.attachment.insertThumbnail': '{lang}wcf.attachment.insertThumbnail{/lang}',
-                       'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}'
+                       'wcf.attachment.upload.error.invalidExtension': '{jslang}wcf.attachment.upload.error.invalidExtension{/jslang}',
+                       'wcf.attachment.upload.error.tooLarge': '{jslang}wcf.attachment.upload.error.tooLarge{/jslang}',
+                       'wcf.attachment.upload.error.reachedLimit': '{jslang}wcf.attachment.upload.error.reachedLimit{/jslang}',
+                       'wcf.attachment.upload.error.reachedRemainingLimit': '{jslang}wcf.attachment.upload.error.reachedRemainingLimit{/jslang}',
+                       'wcf.attachment.upload.error.uploadFailed': '{jslang}wcf.attachment.upload.error.uploadFailed{/jslang}',
+                       'wcf.attachment.upload.error.uploadPhpLimit': '{jslang}wcf.attachment.upload.error.uploadPhpLimit{/jslang}',
+                       'wcf.attachment.insert': '{jslang}wcf.attachment.insert{/jslang}',
+                       'wcf.attachment.insertAll': '{jslang}wcf.attachment.insertAll{/jslang}',
+                       'wcf.attachment.insertFull': '{jslang}wcf.attachment.insertFull{/jslang}',
+                       'wcf.attachment.insertThumbnail': '{jslang}wcf.attachment.insertThumbnail{/jslang}',
+                       'wcf.attachment.delete.sure': '{jslang}wcf.attachment.delete.sure{/jslang}'
                });
                
                new WCF.Attachment.Upload(
index 81f2deba4b30d10a424842d760faeb5b9bc17369..6fca00a9fdf0ce0dc600461b1d2cbb5fca00e304 100644 (file)
@@ -1,16 +1,16 @@
 <script data-relocate="true">
        require(['Language'], function (Language) {
                Language.addObject({
-                       'wcf.article.search': '{lang}wcf.article.search{/lang}',
-                       'wcf.article.search.error.tooShort': '{lang}wcf.article.search.error.tooShort{/lang}',
-                       'wcf.article.search.error.noResults': '{lang}wcf.article.search.error.noResults{/lang}',
-                       'wcf.article.search.name': '{lang}wcf.article.search.name{/lang}',
-                       'wcf.article.search.results': '{lang}wcf.article.search.results{/lang}',
-                       'wcf.page.search': '{lang}wcf.page.search{/lang}',
-                       'wcf.page.search.error.tooShort': '{lang}wcf.page.search.error.tooShort{/lang}',
-                       'wcf.page.search.error.noResults': '{lang}wcf.page.search.error.noResults{/lang}',
-                       'wcf.page.search.name': '{lang}wcf.page.search.name{/lang}',
-                       'wcf.page.search.results': '{lang}wcf.page.search.results{/lang}',
+                       'wcf.article.search': '{jslang}wcf.article.search{/jslang}',
+                       'wcf.article.search.error.tooShort': '{jslang}wcf.article.search.error.tooShort{/jslang}',
+                       'wcf.article.search.error.noResults': '{jslang}wcf.article.search.error.noResults{/jslang}',
+                       'wcf.article.search.name': '{jslang}wcf.article.search.name{/jslang}',
+                       'wcf.article.search.results': '{jslang}wcf.article.search.results{/jslang}',
+                       'wcf.page.search': '{jslang}wcf.page.search{/jslang}',
+                       'wcf.page.search.error.tooShort': '{jslang}wcf.page.search.error.tooShort{/jslang}',
+                       'wcf.page.search.error.noResults': '{jslang}wcf.page.search.error.noResults{/jslang}',
+                       'wcf.page.search.name': '{jslang}wcf.page.search.name{/jslang}',
+                       'wcf.page.search.results': '{jslang}wcf.page.search.results{/jslang}',
                });
        })
 </script>
index 6501f1538e653fa352041977842197e1fead799b..d61999dfcd6ce5d7fa1fbcacb9b242a91dcf9c77 100644 (file)
@@ -7,7 +7,7 @@
 <script data-relocate="true">
        require(['Language'], function(Language) {
                Language.addObject({
-                       'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
+                       'wcf.global.preview': '{jslang}wcf.global.preview{/jslang}'
                });
                
                new WCF.Message.DefaultPreview({
index bff372d5e1ecd32cdfef9471f7e46e2e8dfb4206..a1a07d3483f662ee48af03476010f3ff52f9893b 100644 (file)
@@ -1,11 +1,11 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acl.option.deny': '{lang}wcf.acl.option.deny{/lang}',
-                       'wcf.acl.option.fullAccess': '{lang}wcf.acl.option.fullAccess{/lang}',
-                       'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}',
-                       'wcf.acl.search.user.description': '{lang}wcf.acl.search.user.description{/lang}',
-                       'wcf.acl.search.description': '{lang}wcf.acl.search.description{/lang}'
+                       'wcf.acl.option.deny': '{jslang}wcf.acl.option.deny{/jslang}',
+                       'wcf.acl.option.fullAccess': '{jslang}wcf.acl.option.fullAccess{/jslang}',
+                       'wcf.acl.option.grant': '{jslang}wcf.acl.option.grant{/jslang}',
+                       'wcf.acl.search.user.description': '{jslang}wcf.acl.search.user.description{/jslang}',
+                       'wcf.acl.search.description': '{jslang}wcf.acl.search.description{/jslang}'
                });
        });
-</script>
\ No newline at end of file
+</script>
index 0f9968fc49f9baa7002440bb54e2d32405b91819..f4f44b50789f26cfe6ce48a9f36287a87e0b29e4 100644 (file)
        <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.moderation.report.reportContent': '{lang}wcf.moderation.report.reportContent{/lang}',
-                               'wcf.moderation.report.success': '{lang}wcf.moderation.report.success{/lang}'
+                               'wcf.moderation.report.reportContent': '{jslang}wcf.moderation.report.reportContent{/jslang}',
+                               'wcf.moderation.report.success': '{jslang}wcf.moderation.report.success{/jslang}'
                        });
                        new WCF.Moderation.Report.Content('com.woltlab.wcf.article', '.jsReportArticle');
                });
index e7bec299fb8558508855bf107571258752a4dd7d..962ee2d86b9235a00ce8fea638ce1b24eeb3c64e 100644 (file)
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Ui/User/Search/Input', 'WoltLabSuite/Core/Acp/Ui/Article/InlineEditor'], function(Language, UiUserSearchInput, AcpUiArticleInlineEditor) {
                Language.addObject({
-                       'wcf.acp.article.i18n.source': '{lang}wcf.acp.article.i18n.source{/lang}',
-                       'wcf.acp.article.i18n.toI18n.confirmMessage': '{lang}wcf.acp.article.i18n.toI18n.confirmMessage{/lang}',
-                       'wcf.acp.article.i18n.fromI18n.confirmMessage': '{lang}wcf.acp.article.i18n.fromI18n.confirmMessage{/lang}',
-                       'wcf.message.status.deleted': '{lang}wcf.message.status.deleted{/lang}',
+                       'wcf.acp.article.i18n.source': '{jslang}wcf.acp.article.i18n.source{/jslang}',
+                       'wcf.acp.article.i18n.toI18n.confirmMessage': '{jslang}wcf.acp.article.i18n.toI18n.confirmMessage{/jslang}',
+                       'wcf.acp.article.i18n.fromI18n.confirmMessage': '{jslang}wcf.acp.article.i18n.fromI18n.confirmMessage{/jslang}',
+                       'wcf.message.status.deleted': '{jslang}wcf.message.status.deleted{/jslang}',
                });
                
                new UiUserSearchInput(elBySel('input[name="username"]'));
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
+                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
                });
                
                {if !$labelGroups|empty}
index 35cb520d5655e7b61bc9ce4311b2b382877dbcf1..a0a5fcf75291dbbf3d294e7c4aaa5411e6dd421e 100644 (file)
@@ -18,7 +18,7 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Article/Add'], function(Language, AcpUiArticleAdd) {
                Language.addObject({
-                       'wcf.acp.article.add': '{lang}wcf.acp.article.add{/lang}'
+                       'wcf.acp.article.add': '{jslang}wcf.acp.article.add{/jslang}'
                });
                
                AcpUiArticleAdd.init('{link controller='ArticleAdd' encode=false}{literal}isMultilingual={$isMultilingual}{/literal}{if $categoryID}&categoryID={@$categoryID}{/if}{/link}');
index 1e7c297af51f1f7a9bd4732b882754b255dec6fa..18849b803a3277f8aca4aac90ccb4bfcd482514e 100644 (file)
@@ -60,8 +60,8 @@
                <script data-relocate="true">
                        $(function() {
                                WCF.Language.addObject({
-                                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
-                                       'wcf.label.withoutSelection': '{lang}wcf.label.withoutSelection{/lang}'
+                                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
+                                       'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
                                });
                                
                                new WCF.Label.Chooser({ {implode from=$labelIDs key=groupID item=labelID}{@$groupID}: {@$labelID}{/implode} }, '#sidebarForm', undefined, true);
index 0ebe55c32878ec7a55daad86215085b9a09b8a32..fe7d1d8f6f7c0a2b8574f7761f1cd8e66c7a5fa0 100644 (file)
        <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
-                               'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
-                               'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
-                               'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
-                               'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
-                               'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}'
+                               'wcf.user.avatar.upload.error.invalidExtension': '{jslang}wcf.user.avatar.upload.error.invalidExtension{/jslang}',
+                               'wcf.user.avatar.upload.error.tooSmall': '{jslang}wcf.user.avatar.upload.error.tooSmall{/jslang}',
+                               'wcf.user.avatar.upload.error.tooLarge': '{jslang}wcf.user.avatar.upload.error.tooLarge{/jslang}',
+                               'wcf.user.avatar.upload.error.uploadFailed': '{jslang}wcf.user.avatar.upload.error.uploadFailed{/jslang}',
+                               'wcf.user.avatar.upload.error.badImage': '{jslang}wcf.user.avatar.upload.error.badImage{/jslang}',
+                               'wcf.user.avatar.upload.success': '{jslang}wcf.user.avatar.upload.success{/jslang}'
                        });
                        
                        {if !$__wcf->user->disableAvatar}
index eae61fc7983da2c1c90f8f86db02a2a39feffc85..abc41fcf1d864564c11b5f935e639663af920205 100644 (file)
@@ -32,8 +32,8 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Ui/User/Activity/Recent'], function (Language, UiUserActivityRecent) {
                Language.addObject({
-                       'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
-                       'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
+                       'wcf.user.recentActivity.more': '{jslang}wcf.user.recentActivity.more{/jslang}',
+                       'wcf.user.recentActivity.noMoreEntries': '{jslang}wcf.user.recentActivity.noMoreEntries{/jslang}'
                });
                
                new UiUserActivityRecent('boxRecentActivity{@$boxID}');
index 527b13f3f8241e29ad9d2aeab4f113fedcd12ee8..60b3e32636355329e17f13f5e5a0f8078a5d9e37 100644 (file)
@@ -58,8 +58,8 @@
                <script data-relocate="true">
                        $(function() {
                                WCF.Language.addObject({
-                                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
-                                       'wcf.label.withoutSelection': '{lang}wcf.label.withoutSelection{/lang}'
+                                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
+                                       'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
                                });
                                
                                new WCF.Label.Chooser({ {implode from=$labelIDs key=groupID item=labelID}{@$groupID}: {@$labelID}{/implode} }, '#sidebarForm', undefined, true);
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.objectWatch.manageSubscription': '{lang}wcf.user.objectWatch.manageSubscription{/lang}'
+                       'wcf.user.objectWatch.manageSubscription': '{jslang}wcf.user.objectWatch.manageSubscription{/jslang}'
                });
                
                new WCF.User.ObjectWatch.Subscribe();
index 103950f3dbfd76d6f27951d18b0217e337ef9079..67e183bcaac25186ee0ca186dedf3ce4ea828503 100644 (file)
@@ -22,8 +22,8 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Bbcode/Collapsible', 'WoltLabSuite/Core/Bbcode/Code'], function (Language, BbcodeCollapsible, BbcodeCode) {
                        Language.addObject({
-                               'wcf.message.bbcode.code.copy': '{lang}wcf.message.bbcode.code.copy{/lang}',
-                               'wcf.message.bbcode.code.copy.success': '{lang}wcf.message.bbcode.code.copy.success{/lang}'
+                               'wcf.message.bbcode.code.copy': '{jslang}wcf.message.bbcode.code.copy{/jslang}',
+                               'wcf.message.bbcode.code.copy.success': '{jslang}wcf.message.bbcode.code.copy.success{/jslang}'
                        });
                        BbcodeCollapsible.observe();
                        BbcodeCode.processAll();
index 7bc89c3680d4b8fb088bc12dd9effea4b3d8d10a..f7088beb4ad5c7826a8992f5ee4bb6473a2654f7 100644 (file)
@@ -1,10 +1,10 @@
 <script>
        require(['Language', 'WoltLabSuite/Core/Ui/Style/FontAwesome'], function (Language, UiStyleFontAwesome) {
                Language.addObject({
-                       'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                       'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                       'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                       'wcf.global.fontAwesome.selectIcon': '{lang}wcf.global.fontAwesome.selectIcon{/lang}'
+                       'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                       'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                       'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                       'wcf.global.fontAwesome.selectIcon': '{jslang}wcf.global.fontAwesome.selectIcon{/jslang}'
                });
                
                UiStyleFontAwesome.setup({@$__wcf->getStyleHandler()->getIcons(true)});
index 36c1cc79d5a826ae0861c6b14b8a8b0babc30766..0d3bcfbbf49664a636b6a45cd1bba4891669378e 100644 (file)
@@ -7,20 +7,20 @@
        <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.map.noLocationSuggestions': '{lang}wcf.map.noLocationSuggestions{/lang}',
-                               'wcf.map.route.error.not_found': '{lang}wcf.map.route.error.not_found{/lang}',
-                               'wcf.map.route.error.over_query_limit': '{lang}wcf.map.route.error.over_query_limit{/lang}',
-                               'wcf.map.route.error.request_denied': '{lang}wcf.map.route.error.request_denied{/lang}',
-                               'wcf.map.route.origin': '{lang}wcf.map.route.origin{/lang}',
-                               'wcf.map.route.planner': '{lang}wcf.map.route.planner{/lang}',
-                               'wcf.map.route.travelMode': '{lang}wcf.map.route.travelMode{/lang}',
-                               'wcf.map.route.travelMode.bicycling': '{lang}wcf.map.route.travelMode.bicycling{/lang}',
-                               'wcf.map.route.travelMode.driving': '{lang}wcf.map.route.travelMode.driving{/lang}',
-                               'wcf.map.route.travelMode.transit': '{lang}wcf.map.route.travelMode.transit{/lang}',
-                               'wcf.map.route.travelMode.walking': '{lang}wcf.map.route.travelMode.walking{/lang}',
-                               'wcf.map.route.viewOnGoogleMaps': '{lang}wcf.map.route.viewOnGoogleMaps{/lang}',
-                               'wcf.map.showLocationSuggestions': '{lang}wcf.map.showLocationSuggestions{/lang}',
-                               'wcf.map.useLocationSuggestion': '{lang}wcf.map.useLocationSuggestion{/lang}'
+                               'wcf.map.noLocationSuggestions': '{jslang}wcf.map.noLocationSuggestions{/jslang}',
+                               'wcf.map.route.error.not_found': '{jslang}wcf.map.route.error.not_found{/jslang}',
+                               'wcf.map.route.error.over_query_limit': '{jslang}wcf.map.route.error.over_query_limit{/jslang}',
+                               'wcf.map.route.error.request_denied': '{jslang}wcf.map.route.error.request_denied{/jslang}',
+                               'wcf.map.route.origin': '{jslang}wcf.map.route.origin{/jslang}',
+                               'wcf.map.route.planner': '{jslang}wcf.map.route.planner{/jslang}',
+                               'wcf.map.route.travelMode': '{jslang}wcf.map.route.travelMode{/jslang}',
+                               'wcf.map.route.travelMode.bicycling': '{jslang}wcf.map.route.travelMode.bicycling{/jslang}',
+                               'wcf.map.route.travelMode.driving': '{jslang}wcf.map.route.travelMode.driving{/jslang}',
+                               'wcf.map.route.travelMode.transit': '{jslang}wcf.map.route.travelMode.transit{/jslang}',
+                               'wcf.map.route.travelMode.walking': '{jslang}wcf.map.route.travelMode.walking{/jslang}',
+                               'wcf.map.route.viewOnGoogleMaps': '{jslang}wcf.map.route.viewOnGoogleMaps{/jslang}',
+                               'wcf.map.showLocationSuggestions': '{jslang}wcf.map.showLocationSuggestions{/jslang}',
+                               'wcf.map.useLocationSuggestion': '{jslang}wcf.map.useLocationSuggestion{/jslang}'
                        });
                        
                        WCF.Location.GoogleMaps.Settings.set({
index dc8a742f20b90ce8858bc36d9a5bbb99677b8194..89c21e99415f998f90605e2c7ac83da42c2e4ad5 100644 (file)
 <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                               'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                               'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                               'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                               'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                               'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                               'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                               'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                        });
                        
                        new WCF.User.Action.Follow($('.jsGroupedUserList > li'));
                        new WCF.User.Action.Ignore($('.jsGroupedUserList > li'));
                });
-</script>
\ No newline at end of file
+</script>
index 25a5a5d0c2597d4831a141270a5dfa084f3125d1..e55095362c425c28bc5cefa767ee5ae23cf8aadd 100644 (file)
 <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                               'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                               'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                               'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                               'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                               'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                               'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                               'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                        });
                        
                        new WCF.User.Action.Follow($('.jsGroupedUserList > li'));
                        new WCF.User.Action.Ignore($('.jsGroupedUserList > li'));
                });
-</script>
\ No newline at end of file
+</script>
index f54caa9768120fe4600666513cb453503dd05702..744e17f52ccb7976014f198489a99efd030c956e 100644 (file)
@@ -14,7 +14,7 @@
 <script data-relocate="true">
        WCF.Language.addObject({
                {* dummy language item to preserve compatibility with WCF 2.0, move this to headIncludeJavaScript *}
-               'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}'
+               'wcf.global.error.title': '{jslang}wcf.global.error.title{/jslang}'
                
                {* DEPRECATED -- PLEASE USE javascriptLanguageImport@headIncludeJavaScript *}
                {event name='javascriptLanguageImport'}
index 03e128c4f8713d824900685fdbdd1f13cb85e41a..634055da280f990758c676cb48ead72409abbfab 100644 (file)
@@ -52,93 +52,93 @@ window.addEventListener('pageshow', function(event) {
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/BootstrapFrontend', 'User'], function(Language, BootstrapFrontend, User) {
                Language.addObject({
-                       '__days': [ '{lang}wcf.date.day.sunday{/lang}', '{lang}wcf.date.day.monday{/lang}', '{lang}wcf.date.day.tuesday{/lang}', '{lang}wcf.date.day.wednesday{/lang}', '{lang}wcf.date.day.thursday{/lang}', '{lang}wcf.date.day.friday{/lang}', '{lang}wcf.date.day.saturday{/lang}' ],
-                       '__daysShort': [ '{lang}wcf.date.day.sun{/lang}', '{lang}wcf.date.day.mon{/lang}', '{lang}wcf.date.day.tue{/lang}', '{lang}wcf.date.day.wed{/lang}', '{lang}wcf.date.day.thu{/lang}', '{lang}wcf.date.day.fri{/lang}', '{lang}wcf.date.day.sat{/lang}' ],
-                       '__months': [ '{lang}wcf.date.month.january{/lang}', '{lang}wcf.date.month.february{/lang}', '{lang}wcf.date.month.march{/lang}', '{lang}wcf.date.month.april{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.june{/lang}', '{lang}wcf.date.month.july{/lang}', '{lang}wcf.date.month.august{/lang}', '{lang}wcf.date.month.september{/lang}', '{lang}wcf.date.month.october{/lang}', '{lang}wcf.date.month.november{/lang}', '{lang}wcf.date.month.december{/lang}' ], 
-                       '__monthsShort': [ '{lang}wcf.date.month.short.jan{/lang}', '{lang}wcf.date.month.short.feb{/lang}', '{lang}wcf.date.month.short.mar{/lang}', '{lang}wcf.date.month.short.apr{/lang}', '{lang}wcf.date.month.short.may{/lang}', '{lang}wcf.date.month.short.jun{/lang}', '{lang}wcf.date.month.short.jul{/lang}', '{lang}wcf.date.month.short.aug{/lang}', '{lang}wcf.date.month.short.sep{/lang}', '{lang}wcf.date.month.short.oct{/lang}', '{lang}wcf.date.month.short.nov{/lang}', '{lang}wcf.date.month.short.dec{/lang}' ],
-                       'wcf.clipboard.item.unmarkAll': '{lang}wcf.clipboard.item.unmarkAll{/lang}',
-                       'wcf.clipboard.item.markAll': '{lang}wcf.clipboard.item.markAll{/lang}',
-                       'wcf.clipboard.item.mark': '{lang}wcf.clipboard.item.mark{/lang}',
-                       'wcf.date.relative.now': '{lang __literal=true}wcf.date.relative.now{/lang}',
-                       'wcf.date.relative.minutes': '{capture assign=relativeMinutes}{lang __literal=true}wcf.date.relative.minutes{/lang}{/capture}{@$relativeMinutes|encodeJS}',
-                       'wcf.date.relative.hours': '{capture assign=relativeHours}{lang __literal=true}wcf.date.relative.hours{/lang}{/capture}{@$relativeHours|encodeJS}',
-                       'wcf.date.relative.pastDays': '{capture assign=relativePastDays}{lang __literal=true}wcf.date.relative.pastDays{/lang}{/capture}{@$relativePastDays|encodeJS}',
-                       'wcf.date.dateFormat': '{"wcf.date.dateFormat"|language|encodeJS}',
-                       'wcf.date.dateTimeFormat': '{lang}wcf.date.dateTimeFormat{/lang}',
-                       'wcf.date.shortDateTimeFormat': '{lang}wcf.date.shortDateTimeFormat{/lang}',
-                       'wcf.date.hour': '{lang}wcf.date.hour{/lang}',
-                       'wcf.date.minute': '{lang}wcf.date.minute{/lang}',
-                       'wcf.date.timeFormat': '{lang}wcf.date.timeFormat{/lang}',
-                       'wcf.date.firstDayOfTheWeek': '{lang}wcf.date.firstDayOfTheWeek{/lang}',
-                       'wcf.global.button.add': '{lang}wcf.global.button.add{/lang}',
-                       'wcf.global.button.cancel': '{lang}wcf.global.button.cancel{/lang}',
-                       'wcf.global.button.close': '{lang}wcf.global.button.close{/lang}',
-                       'wcf.global.button.collapsible': '{lang}wcf.global.button.collapsible{/lang}',
-                       'wcf.global.button.delete': '{lang}wcf.global.button.delete{/lang}',
-                       'wcf.global.button.disable': '{lang}wcf.global.button.disable{/lang}',
-                       'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}',
-                       'wcf.global.button.edit': '{lang}wcf.global.button.edit{/lang}',
-                       'wcf.global.button.enable': '{lang}wcf.global.button.enable{/lang}',
-                       'wcf.global.button.hide': '{lang}wcf.global.button.hide{/lang}',
-                       'wcf.global.button.insert': '{lang}wcf.global.button.insert{/lang}',
-                       'wcf.global.button.next': '{lang}wcf.global.button.next{/lang}',
-                       'wcf.global.button.preview': '{lang}wcf.global.button.preview{/lang}',
-                       'wcf.global.button.reset': '{lang}wcf.global.button.reset{/lang}',
-                       'wcf.global.button.save': '{lang}wcf.global.button.save{/lang}',
-                       'wcf.global.button.search': '{lang}wcf.global.button.search{/lang}',
-                       'wcf.global.button.submit': '{lang}wcf.global.button.submit{/lang}',
-                       'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}',
-                       'wcf.global.confirmation.cancel': '{lang}wcf.global.confirmation.cancel{/lang}',
-                       'wcf.global.confirmation.confirm': '{lang}wcf.global.confirmation.confirm{/lang}',
-                       'wcf.global.confirmation.title': '{lang}wcf.global.confirmation.title{/lang}',
-                       'wcf.global.decimalPoint': '{capture assign=decimalPoint}{lang}wcf.global.decimalPoint{/lang}{/capture}{$decimalPoint|encodeJS}',
-                       'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
-                       'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
-                       'wcf.global.form.error.greaterThan': '{lang __literal=true}wcf.global.form.error.greaterThan{/lang}',
-                       'wcf.global.form.error.lessThan': '{lang __literal=true}wcf.global.form.error.lessThan{/lang}',
-                       'wcf.global.form.error.multilingual': '{lang}wcf.global.form.error.multilingual{/lang}',
-                       'wcf.global.form.input.maxItems': '{lang}wcf.global.form.input.maxItems{/lang}',
-                       'wcf.global.language.noSelection': '{lang}wcf.global.language.noSelection{/lang}',
-                       'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
-                       'wcf.global.noSelection': '{lang}wcf.global.noSelection{/lang}',
-                       'wcf.global.select': '{lang}wcf.global.select{/lang}',
-                       'wcf.page.jumpTo': '{lang}wcf.page.jumpTo{/lang}',
-                       'wcf.page.jumpTo.description': '{lang}wcf.page.jumpTo.description{/lang}',
-                       'wcf.global.page.pagination': '{lang}wcf.global.page.pagination{/lang}',
-                       'wcf.global.page.next': '{capture assign=pageNext}{lang}wcf.global.page.next{/lang}{/capture}{@$pageNext|encodeJS}',
-                       'wcf.global.page.previous': '{capture assign=pagePrevious}{lang}wcf.global.page.previous{/lang}{/capture}{@$pagePrevious|encodeJS}',
-                       'wcf.global.pageDirection': '{lang}wcf.global.pageDirection{/lang}',
-                       'wcf.global.reason': '{lang}wcf.global.reason{/lang}',
-                       'wcf.global.scrollUp': '{lang}wcf.global.scrollUp{/lang}',
-                       'wcf.global.success': '{lang}wcf.global.success{/lang}',
-                       'wcf.global.success.add': '{lang}wcf.global.success.add{/lang}',
-                       'wcf.global.success.edit': '{lang}wcf.global.success.edit{/lang}',
-                       'wcf.global.thousandsSeparator': '{capture assign=thousandsSeparator}{lang}wcf.global.thousandsSeparator{/lang}{/capture}{@$thousandsSeparator|encodeJS}',
-                       'wcf.page.pagePosition': '{lang __literal=true}wcf.page.pagePosition{/lang}',
-                       'wcf.style.changeStyle': '{lang}wcf.style.changeStyle{/lang}',
-                       'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}',
-                       'wcf.user.panel.markAllAsRead': '{lang}wcf.user.panel.markAllAsRead{/lang}',
-                       'wcf.user.panel.markAsRead': '{lang}wcf.user.panel.markAsRead{/lang}',
-                       'wcf.user.panel.settings': '{lang}wcf.user.panel.settings{/lang}',
-                       'wcf.user.panel.showAll': '{lang}wcf.user.panel.showAll{/lang}',
-                       'wcf.menu.page': '{lang}wcf.menu.page{/lang}',
-                       'wcf.menu.user': '{lang}wcf.menu.user{/lang}',
-                       'wcf.global.button.showMenu': '{lang}wcf.global.button.showMenu{/lang}',
-                       'wcf.global.button.hideMenu': '{lang}wcf.global.button.hideMenu{/lang}',
-                       'wcf.date.datePicker': '{lang}wcf.date.datePicker{/lang}',
-                       'wcf.date.datePicker.previousMonth': '{lang}wcf.date.datePicker.previousMonth{/lang}',
-                       'wcf.date.datePicker.nextMonth': '{lang}wcf.date.datePicker.nextMonth{/lang}',
-                       'wcf.date.datePicker.month': '{lang}wcf.date.datePicker.month{/lang}',
-                       'wcf.date.datePicker.year': '{lang}wcf.date.datePicker.year{/lang}',
-                       'wcf.date.datePicker.hour': '{lang}wcf.date.datePicker.hour{/lang}',
-                       'wcf.date.datePicker.minute': '{lang}wcf.date.datePicker.minute{/lang}'
+                       '__days': [ '{jslang}wcf.date.day.sunday{/jslang}', '{jslang}wcf.date.day.monday{/jslang}', '{jslang}wcf.date.day.tuesday{/jslang}', '{jslang}wcf.date.day.wednesday{/jslang}', '{jslang}wcf.date.day.thursday{/jslang}', '{jslang}wcf.date.day.friday{/jslang}', '{jslang}wcf.date.day.saturday{/jslang}' ],
+                       '__daysShort': [ '{jslang}wcf.date.day.sun{/jslang}', '{jslang}wcf.date.day.mon{/jslang}', '{jslang}wcf.date.day.tue{/jslang}', '{jslang}wcf.date.day.wed{/jslang}', '{jslang}wcf.date.day.thu{/jslang}', '{jslang}wcf.date.day.fri{/jslang}', '{jslang}wcf.date.day.sat{/jslang}' ],
+                       '__months': [ '{jslang}wcf.date.month.january{/jslang}', '{jslang}wcf.date.month.february{/jslang}', '{jslang}wcf.date.month.march{/jslang}', '{jslang}wcf.date.month.april{/jslang}', '{jslang}wcf.date.month.may{/jslang}', '{jslang}wcf.date.month.june{/jslang}', '{jslang}wcf.date.month.july{/jslang}', '{jslang}wcf.date.month.august{/jslang}', '{jslang}wcf.date.month.september{/jslang}', '{jslang}wcf.date.month.october{/jslang}', '{jslang}wcf.date.month.november{/jslang}', '{jslang}wcf.date.month.december{/jslang}' ], 
+                       '__monthsShort': [ '{jslang}wcf.date.month.short.jan{/jslang}', '{jslang}wcf.date.month.short.feb{/jslang}', '{jslang}wcf.date.month.short.mar{/jslang}', '{jslang}wcf.date.month.short.apr{/jslang}', '{jslang}wcf.date.month.short.may{/jslang}', '{jslang}wcf.date.month.short.jun{/jslang}', '{jslang}wcf.date.month.short.jul{/jslang}', '{jslang}wcf.date.month.short.aug{/jslang}', '{jslang}wcf.date.month.short.sep{/jslang}', '{jslang}wcf.date.month.short.oct{/jslang}', '{jslang}wcf.date.month.short.nov{/jslang}', '{jslang}wcf.date.month.short.dec{/jslang}' ],
+                       'wcf.clipboard.item.unmarkAll': '{jslang}wcf.clipboard.item.unmarkAll{/jslang}',
+                       'wcf.clipboard.item.markAll': '{jslang}wcf.clipboard.item.markAll{/jslang}',
+                       'wcf.clipboard.item.mark': '{jslang}wcf.clipboard.item.mark{/jslang}',
+                       'wcf.date.relative.now': '{jslang __literal=true}wcf.date.relative.now{/jslang}',
+                       'wcf.date.relative.minutes': '{jslang __literal=true}wcf.date.relative.minutes{/jslang}',
+                       'wcf.date.relative.hours': '{jslang __literal=true}wcf.date.relative.hours{/jslang}',
+                       'wcf.date.relative.pastDays': '{jslang __literal=true}wcf.date.relative.pastDays{/jslang}',
+                       'wcf.date.dateFormat': '{jslang}wcf.date.dateFormat{/jslang}',
+                       'wcf.date.dateTimeFormat': '{jslang}wcf.date.dateTimeFormat{/jslang}',
+                       'wcf.date.shortDateTimeFormat': '{jslang}wcf.date.shortDateTimeFormat{/jslang}',
+                       'wcf.date.hour': '{jslang}wcf.date.hour{/jslang}',
+                       'wcf.date.minute': '{jslang}wcf.date.minute{/jslang}',
+                       'wcf.date.timeFormat': '{jslang}wcf.date.timeFormat{/jslang}',
+                       'wcf.date.firstDayOfTheWeek': '{jslang}wcf.date.firstDayOfTheWeek{/jslang}',
+                       'wcf.global.button.add': '{jslang}wcf.global.button.add{/jslang}',
+                       'wcf.global.button.cancel': '{jslang}wcf.global.button.cancel{/jslang}',
+                       'wcf.global.button.close': '{jslang}wcf.global.button.close{/jslang}',
+                       'wcf.global.button.collapsible': '{jslang}wcf.global.button.collapsible{/jslang}',
+                       'wcf.global.button.delete': '{jslang}wcf.global.button.delete{/jslang}',
+                       'wcf.global.button.disable': '{jslang}wcf.global.button.disable{/jslang}',
+                       'wcf.global.button.disabledI18n': '{jslang}wcf.global.button.disabledI18n{/jslang}',
+                       'wcf.global.button.edit': '{jslang}wcf.global.button.edit{/jslang}',
+                       'wcf.global.button.enable': '{jslang}wcf.global.button.enable{/jslang}',
+                       'wcf.global.button.hide': '{jslang}wcf.global.button.hide{/jslang}',
+                       'wcf.global.button.insert': '{jslang}wcf.global.button.insert{/jslang}',
+                       'wcf.global.button.next': '{jslang}wcf.global.button.next{/jslang}',
+                       'wcf.global.button.preview': '{jslang}wcf.global.button.preview{/jslang}',
+                       'wcf.global.button.reset': '{jslang}wcf.global.button.reset{/jslang}',
+                       'wcf.global.button.save': '{jslang}wcf.global.button.save{/jslang}',
+                       'wcf.global.button.search': '{jslang}wcf.global.button.search{/jslang}',
+                       'wcf.global.button.submit': '{jslang}wcf.global.button.submit{/jslang}',
+                       'wcf.global.button.upload': '{jslang}wcf.global.button.upload{/jslang}',
+                       'wcf.global.confirmation.cancel': '{jslang}wcf.global.confirmation.cancel{/jslang}',
+                       'wcf.global.confirmation.confirm': '{jslang}wcf.global.confirmation.confirm{/jslang}',
+                       'wcf.global.confirmation.title': '{jslang}wcf.global.confirmation.title{/jslang}',
+                       'wcf.global.decimalPoint': '{jslang}wcf.global.decimalPoint{/jslang}',
+                       'wcf.global.error.timeout': '{jslang}wcf.global.error.timeout{/jslang}',
+                       'wcf.global.form.error.empty': '{jslang}wcf.global.form.error.empty{/jslang}',
+                       'wcf.global.form.error.greaterThan': '{jslang __literal=true}wcf.global.form.error.greaterThan{/jslang}',
+                       'wcf.global.form.error.lessThan': '{jslang __literal=true}wcf.global.form.error.lessThan{/jslang}',
+                       'wcf.global.form.error.multilingual': '{jslang}wcf.global.form.error.multilingual{/jslang}',
+                       'wcf.global.form.input.maxItems': '{jslang}wcf.global.form.input.maxItems{/jslang}',
+                       'wcf.global.language.noSelection': '{jslang}wcf.global.language.noSelection{/jslang}',
+                       'wcf.global.loading': '{jslang}wcf.global.loading{/jslang}',
+                       'wcf.global.noSelection': '{jslang}wcf.global.noSelection{/jslang}',
+                       'wcf.global.select': '{jslang}wcf.global.select{/jslang}',
+                       'wcf.page.jumpTo': '{jslang}wcf.page.jumpTo{/jslang}',
+                       'wcf.page.jumpTo.description': '{jslang}wcf.page.jumpTo.description{/jslang}',
+                       'wcf.global.page.pagination': '{jslang}wcf.global.page.pagination{/jslang}',
+                       'wcf.global.page.next': '{jslang}wcf.global.page.next{/jslang}',
+                       'wcf.global.page.previous': '{jslang}wcf.global.page.previous{/jslang}',
+                       'wcf.global.pageDirection': '{jslang}wcf.global.pageDirection{/jslang}',
+                       'wcf.global.reason': '{jslang}wcf.global.reason{/jslang}',
+                       'wcf.global.scrollUp': '{jslang}wcf.global.scrollUp{/jslang}',
+                       'wcf.global.success': '{jslang}wcf.global.success{/jslang}',
+                       'wcf.global.success.add': '{jslang}wcf.global.success.add{/jslang}',
+                       'wcf.global.success.edit': '{jslang}wcf.global.success.edit{/jslang}',
+                       'wcf.global.thousandsSeparator': '{jslang}wcf.global.thousandsSeparator{/jslang}',
+                       'wcf.page.pagePosition': '{jslang __literal=true}wcf.page.pagePosition{/jslang}',
+                       'wcf.style.changeStyle': '{jslang}wcf.style.changeStyle{/jslang}',
+                       'wcf.user.activityPoint': '{jslang}wcf.user.activityPoint{/jslang}',
+                       'wcf.user.panel.markAllAsRead': '{jslang}wcf.user.panel.markAllAsRead{/jslang}',
+                       'wcf.user.panel.markAsRead': '{jslang}wcf.user.panel.markAsRead{/jslang}',
+                       'wcf.user.panel.settings': '{jslang}wcf.user.panel.settings{/jslang}',
+                       'wcf.user.panel.showAll': '{jslang}wcf.user.panel.showAll{/jslang}',
+                       'wcf.menu.page': '{jslang}wcf.menu.page{/jslang}',
+                       'wcf.menu.user': '{jslang}wcf.menu.user{/jslang}',
+                       'wcf.global.button.showMenu': '{jslang}wcf.global.button.showMenu{/jslang}',
+                       'wcf.global.button.hideMenu': '{jslang}wcf.global.button.hideMenu{/jslang}',
+                       'wcf.date.datePicker': '{jslang}wcf.date.datePicker{/jslang}',
+                       'wcf.date.datePicker.previousMonth': '{jslang}wcf.date.datePicker.previousMonth{/jslang}',
+                       'wcf.date.datePicker.nextMonth': '{jslang}wcf.date.datePicker.nextMonth{/jslang}',
+                       'wcf.date.datePicker.month': '{jslang}wcf.date.datePicker.month{/jslang}',
+                       'wcf.date.datePicker.year': '{jslang}wcf.date.datePicker.year{/jslang}',
+                       'wcf.date.datePicker.hour': '{jslang}wcf.date.datePicker.hour{/jslang}',
+                       'wcf.date.datePicker.minute': '{jslang}wcf.date.datePicker.minute{/jslang}'
                        {if MODULE_LIKE}
-                               ,'wcf.like.button.like': '{lang}wcf.like.button.like{/lang}',
-                               'wcf.like.button.dislike': '{lang}wcf.like.button.dislike{/lang}',
-                               'wcf.like.tooltip': '{lang}wcf.like.jsTooltip{/lang}',
-                               'wcf.like.summary': '{lang}wcf.like.summary{/lang}',
-                               'wcf.like.details': '{lang}wcf.like.details{/lang}',
-                               'wcf.reactions.react': '{lang}wcf.reactions.react{/lang}'
+                               ,'wcf.like.button.like': '{jslang}wcf.like.button.like{/jslang}',
+                               'wcf.like.button.dislike': '{jslang}wcf.like.button.dislike{/jslang}',
+                               'wcf.like.tooltip': '{jslang}wcf.like.jsTooltip{/jslang}',
+                               'wcf.like.summary': '{jslang}wcf.like.summary{/jslang}',
+                               'wcf.like.details': '{jslang}wcf.like.details{/jslang}',
+                               'wcf.reactions.react': '{jslang}wcf.reactions.react{/jslang}'
                        {/if}
                        
                        {event name='javascriptLanguageImport'}
index ae530070d8bb6fec3c5ffaf97ec9332aee9ea273..595b0723c089408cea60b7f537016303403baea5 100644 (file)
@@ -3,14 +3,14 @@
                var $imageViewer = null;
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.imageViewer.button.enlarge': '{lang}wcf.imageViewer.button.enlarge{/lang}',
-                               'wcf.imageViewer.button.full': '{lang}wcf.imageViewer.button.full{/lang}',
-                               'wcf.imageViewer.seriesIndex': '{lang __literal=true}wcf.imageViewer.seriesIndex{/lang}',
-                               'wcf.imageViewer.counter': '{lang}wcf.imageViewer.counter{/lang}',
-                               'wcf.imageViewer.close': '{lang}wcf.imageViewer.close{/lang}',
-                               'wcf.imageViewer.enlarge': '{lang}wcf.imageViewer.enlarge{/lang}',
-                               'wcf.imageViewer.next': '{lang}wcf.imageViewer.next{/lang}',
-                               'wcf.imageViewer.previous': '{lang}wcf.imageViewer.previous{/lang}'
+                               'wcf.imageViewer.button.enlarge': '{jslang}wcf.imageViewer.button.enlarge{/jslang}',
+                               'wcf.imageViewer.button.full': '{jslang}wcf.imageViewer.button.full{/jslang}',
+                               'wcf.imageViewer.seriesIndex': '{jslang __literal=true}wcf.imageViewer.seriesIndex{/jslang}',
+                               'wcf.imageViewer.counter': '{jslang}wcf.imageViewer.counter{/jslang}',
+                               'wcf.imageViewer.close': '{jslang}wcf.imageViewer.close{/jslang}',
+                               'wcf.imageViewer.enlarge': '{jslang}wcf.imageViewer.enlarge{/jslang}',
+                               'wcf.imageViewer.next': '{jslang}wcf.imageViewer.next{/jslang}',
+                               'wcf.imageViewer.previous': '{jslang}wcf.imageViewer.previous{/jslang}'
                        });
                        
                        $imageViewer = new WCF.ImageViewer();
@@ -28,4 +28,4 @@
        </script>
        
        {assign var=__imageViewerLoaded value=true}
-{/if}
\ No newline at end of file
+{/if}
index 609991a1bfa679e13ceb0c414fb6441e227e5fed..b9016db0778247eafaa6b19b9c61a67c869d782e 100644 (file)
@@ -1,28 +1,28 @@
 {if $__wcf->session->getPermission('admin.content.cms.canUseMedia')}
        require(['Language', 'Permission'], function(Language, Permission) {
                Language.addObject({
-                       'wcf.global.button.insert': '{lang}wcf.global.button.insert{/lang}',
-                       'wcf.media.button.replaceFile': '{lang}wcf.media.button.replaceFile{/lang}',
-                       'wcf.media.button.select': '{lang}wcf.media.button.select{/lang}',
-                       'wcf.media.delete.confirmMessage': '{lang __encode=true __literal=true}wcf.media.delete.confirmMessage{/lang}',
-                       'wcf.media.imageDimensions.value': '{lang __literal=true}wcf.media.imageDimensions.value{/lang}',
-                       'wcf.media.insert': '{lang}wcf.media.insert{/lang}',
-                       'wcf.media.insert.imageSize': '{lang}wcf.media.insert.imageSize{/lang}',
-                       'wcf.media.insert.imageSize.small': '{lang}wcf.media.insert.imageSize.small{/lang}',
-                       'wcf.media.insert.imageSize.medium': '{lang}wcf.media.insert.imageSize.medium{/lang}',
-                       'wcf.media.insert.imageSize.large': '{lang}wcf.media.insert.imageSize.large{/lang}',
-                       'wcf.media.insert.imageSize.original': '{lang}wcf.media.insert.imageSize.original{/lang}',
-                       'wcf.media.manager': '{lang}wcf.media.manager{/lang}',
-                       'wcf.media.edit': '{lang}wcf.media.edit{/lang}',
-                       'wcf.media.button.insert': '{lang}wcf.media.button.insert{/lang}',
-                       'wcf.media.search.info.searchStringThreshold': '{lang __literal=true}wcf.media.search.info.searchStringThreshold{/lang}',
-                       'wcf.media.search.noResults': '{lang}wcf.media.search.noResults{/lang}',
-                       'wcf.media.upload.error.differentFileExtension': '{lang}wcf.media.upload.error.differentFileExtension{/lang}',
-                       'wcf.media.upload.error.differentFileType': '{lang}wcf.media.upload.error.differentFileType{/lang}',
-                       'wcf.media.upload.error.noImage': '{lang}wcf.media.upload.error.noImage{/lang}',
-                       'wcf.media.upload.error.uploadFailed': '{lang}wcf.media.upload.error.uploadFailed{/lang}',
-                       'wcf.media.upload.success': '{lang}wcf.media.upload.success{/lang}',
-                       'wcf.media.setCategory': '{lang}wcf.media.setCategory{/lang}'
+                       'wcf.global.button.insert': '{jslang}wcf.global.button.insert{/jslang}',
+                       'wcf.media.button.replaceFile': '{jslang}wcf.media.button.replaceFile{/jslang}',
+                       'wcf.media.button.select': '{jslang}wcf.media.button.select{/jslang}',
+                       'wcf.media.delete.confirmMessage': '{jslang __encode=true __literal=true}wcf.media.delete.confirmMessage{/jslang}',
+                       'wcf.media.imageDimensions.value': '{jslang __literal=true}wcf.media.imageDimensions.value{/jslang}',
+                       'wcf.media.insert': '{jslang}wcf.media.insert{/jslang}',
+                       'wcf.media.insert.imageSize': '{jslang}wcf.media.insert.imageSize{/jslang}',
+                       'wcf.media.insert.imageSize.small': '{jslang}wcf.media.insert.imageSize.small{/jslang}',
+                       'wcf.media.insert.imageSize.medium': '{jslang}wcf.media.insert.imageSize.medium{/jslang}',
+                       'wcf.media.insert.imageSize.large': '{jslang}wcf.media.insert.imageSize.large{/jslang}',
+                       'wcf.media.insert.imageSize.original': '{jslang}wcf.media.insert.imageSize.original{/jslang}',
+                       'wcf.media.manager': '{jslang}wcf.media.manager{/jslang}',
+                       'wcf.media.edit': '{jslang}wcf.media.edit{/jslang}',
+                       'wcf.media.button.insert': '{jslang}wcf.media.button.insert{/jslang}',
+                       'wcf.media.search.info.searchStringThreshold': '{jslang __literal=true}wcf.media.search.info.searchStringThreshold{/jslang}',
+                       'wcf.media.search.noResults': '{jslang}wcf.media.search.noResults{/jslang}',
+                       'wcf.media.upload.error.differentFileExtension': '{jslang}wcf.media.upload.error.differentFileExtension{/jslang}',
+                       'wcf.media.upload.error.differentFileType': '{jslang}wcf.media.upload.error.differentFileType{/jslang}',
+                       'wcf.media.upload.error.noImage': '{jslang}wcf.media.upload.error.noImage{/jslang}',
+                       'wcf.media.upload.error.uploadFailed': '{jslang}wcf.media.upload.error.uploadFailed{/jslang}',
+                       'wcf.media.upload.success': '{jslang}wcf.media.upload.success{/jslang}',
+                       'wcf.media.setCategory': '{jslang}wcf.media.setCategory{/jslang}'
                });
                
                Permission.add('admin.content.cms.canManageMedia', {if $__wcf->session->getPermission('admin.content.cms.canManageMedia')}true{else}false{/if});
index cc0f1a0c6a7eebba08fc68574638be104141ee56..9fc6744d3636af06ba046178e13c68a832015079 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                       'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                       'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                       'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                       'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                       'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                       'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                       'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                });
                
                new WCF.User.Action.Follow($('.userList > li'));
index b0c41f4a25fc71964d6d018896e214bbc0f68681..59fdac98ced8ef7e1f2a9b04f600afd9a5a877f6 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.attachment.upload.error.invalidExtension': '{lang}wcf.attachment.upload.error.invalidExtension{/lang}',
-                       'wcf.attachment.upload.error.tooLarge': '{lang}wcf.attachment.upload.error.tooLarge{/lang}',
-                       'wcf.attachment.upload.error.reachedLimit': '{lang}wcf.attachment.upload.error.reachedLimit{/lang}',
-                       'wcf.attachment.upload.error.reachedRemainingLimit': '{lang}wcf.attachment.upload.error.reachedRemainingLimit{/lang}',
-                       'wcf.attachment.upload.error.uploadFailed': '{lang}wcf.attachment.upload.error.uploadFailed{/lang}',
-                       'wcf.attachment.upload.error.uploadPhpLimit': '{lang}wcf.attachment.upload.error.uploadPhpLimit{/lang}',
-                       'wcf.attachment.insert': '{lang}wcf.attachment.insert{/lang}',
-                       'wcf.attachment.insertAll': '{lang}wcf.attachment.insertAll{/lang}',
-                       'wcf.attachment.insertFull': '{lang}wcf.attachment.insertFull{/lang}',
-                       'wcf.attachment.insertThumbnail': '{lang}wcf.attachment.insertThumbnail{/lang}',
-                       'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}'
+                       'wcf.attachment.upload.error.invalidExtension': '{jslang}wcf.attachment.upload.error.invalidExtension{/jslang}',
+                       'wcf.attachment.upload.error.tooLarge': '{jslang}wcf.attachment.upload.error.tooLarge{/jslang}',
+                       'wcf.attachment.upload.error.reachedLimit': '{jslang}wcf.attachment.upload.error.reachedLimit{/jslang}',
+                       'wcf.attachment.upload.error.reachedRemainingLimit': '{jslang}wcf.attachment.upload.error.reachedRemainingLimit{/jslang}',
+                       'wcf.attachment.upload.error.uploadFailed': '{jslang}wcf.attachment.upload.error.uploadFailed{/jslang}',
+                       'wcf.attachment.upload.error.uploadPhpLimit': '{jslang}wcf.attachment.upload.error.uploadPhpLimit{/jslang}',
+                       'wcf.attachment.insert': '{jslang}wcf.attachment.insert{/jslang}',
+                       'wcf.attachment.insertAll': '{jslang}wcf.attachment.insertAll{/jslang}',
+                       'wcf.attachment.insertFull': '{jslang}wcf.attachment.insertFull{/jslang}',
+                       'wcf.attachment.insertThumbnail': '{jslang}wcf.attachment.insertThumbnail{/jslang}',
+                       'wcf.attachment.delete.sure': '{jslang}wcf.attachment.delete.sure{/jslang}'
                });
                
                new WCF.Attachment.Upload(
index 00175333c511f8f41e581988d4e5b6ffdba5b060..8ed77481822bfc8ec1a504b085e35a09e5db3518 100644 (file)
@@ -8,7 +8,7 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.global.preview': '{lang}wcf.global.preview{/lang}' 
+                       'wcf.global.preview': '{jslang}wcf.global.preview{/jslang}' 
                });
                
                new WCF.Message.DefaultPreview({
@@ -18,4 +18,4 @@
                        messageObjectID: '{$previewMessageObjectID}'
                });
        });
-</script>
\ No newline at end of file
+</script>
index d819d9f673b9f814af1de8b6c90cd3f97551ac6b..4c1bd05f0c94e1ba552d36c99068a4fb0f9b5c6d 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.moderation.activation.enableContent.confirmMessage': '{lang}wcf.moderation.activation.enableContent.confirmMessage{/lang}',
-                       'wcf.moderation.activation.removeContent.confirmMessage': '{lang}wcf.moderation.activation.removeContent.confirmMessage{/lang}',
-                       'wcf.moderation.assignedUser': '{lang}wcf.moderation.assignedUser{/lang}',
-                       'wcf.moderation.assignedUser.error.notAffected': '{lang}wcf.moderation.assignedUser.error.notAffected{/lang}',
-                       'wcf.moderation.status.outstanding': '{lang}wcf.moderation.status.outstanding{/lang}',
-                       'wcf.moderation.status.processing': '{lang}wcf.moderation.status.processing{/lang}',
-                       'wcf.user.username.error.notFound': '{lang __literal=true}wcf.user.username.error.notFound{/lang}'
+                       'wcf.moderation.activation.enableContent.confirmMessage': '{jslang}wcf.moderation.activation.enableContent.confirmMessage{/jslang}',
+                       'wcf.moderation.activation.removeContent.confirmMessage': '{jslang}wcf.moderation.activation.removeContent.confirmMessage{/jslang}',
+                       'wcf.moderation.assignedUser': '{jslang}wcf.moderation.assignedUser{/jslang}',
+                       'wcf.moderation.assignedUser.error.notAffected': '{jslang}wcf.moderation.assignedUser.error.notAffected{/jslang}',
+                       'wcf.moderation.status.outstanding': '{jslang}wcf.moderation.status.outstanding{/jslang}',
+                       'wcf.moderation.status.processing': '{jslang}wcf.moderation.status.processing{/jslang}',
+                       'wcf.user.username.error.notFound': '{jslang __literal=true}wcf.user.username.error.notFound{/jslang}'
                });
                
                new WCF.Moderation.Activation.Management({@$queue->queueID}, '{link controller='ModerationList' encode=false}{/link}');
index b32b64370025cb5613d33b4748426601f9382682..8c3942d792e733c50fbce7265dd42995b2368af5 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.moderation.assignedUser': '{lang}wcf.moderation.assignedUser{/lang}',
-                       'wcf.moderation.assignedUser.error.notAffected': '{lang}wcf.moderation.assignedUser.error.notAffected{/lang}',
-                       'wcf.moderation.report.removeContent.confirmMessage': '{lang}wcf.moderation.report.removeContent.confirmMessage{/lang}',
-                       'wcf.moderation.report.removeContent.reason': '{lang}wcf.moderation.report.removeContent.reason{/lang}',
-                       'wcf.moderation.report.removeReport.confirmMessage': '{lang}wcf.moderation.report.removeReport.confirmMessage{/lang}',
-                       'wcf.moderation.report.removeReport.markAsJustified': '{lang}wcf.moderation.report.removeReport.markAsJustified{/lang}',
-                       'wcf.moderation.status.outstanding': '{lang}wcf.moderation.status.outstanding{/lang}',
-                       'wcf.moderation.status.processing': '{lang}wcf.moderation.status.processing{/lang}',
-                       'wcf.user.username.error.notFound': '{lang __literal=true}wcf.user.username.error.notFound{/lang}'
+                       'wcf.moderation.assignedUser': '{jslang}wcf.moderation.assignedUser{/jslang}',
+                       'wcf.moderation.assignedUser.error.notAffected': '{jslang}wcf.moderation.assignedUser.error.notAffected{/jslang}',
+                       'wcf.moderation.report.removeContent.confirmMessage': '{jslang}wcf.moderation.report.removeContent.confirmMessage{/jslang}',
+                       'wcf.moderation.report.removeContent.reason': '{jslang}wcf.moderation.report.removeContent.reason{/jslang}',
+                       'wcf.moderation.report.removeReport.confirmMessage': '{jslang}wcf.moderation.report.removeReport.confirmMessage{/jslang}',
+                       'wcf.moderation.report.removeReport.markAsJustified': '{jslang}wcf.moderation.report.removeReport.markAsJustified{/jslang}',
+                       'wcf.moderation.status.outstanding': '{jslang}wcf.moderation.status.outstanding{/jslang}',
+                       'wcf.moderation.status.processing': '{jslang}wcf.moderation.status.processing{/jslang}',
+                       'wcf.user.username.error.notFound': '{jslang __literal=true}wcf.user.username.error.notFound{/jslang}'
                });
                
                new WCF.Moderation.Report.Management({@$queue->queueID}, '{link controller='ModerationList' encode=false}{/link}');
index 2570fd2dd5943c18d3f9cbec2fd36b2cf717034d..875d3f0106aee835cae49fe09ab4065b989fbb65 100644 (file)
@@ -2,7 +2,7 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Language/Input', 'WoltLabSuite/Core/Language/Text'], function(Language, LanguageInput, LanguageText) {
                        Language.addObject({
-                               'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}'
+                               'wcf.global.button.disabledI18n': '{jslang}wcf.global.button.disabledI18n{/jslang}'
                        });
                        
                        var availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
index be9a1508e17f50763fb3bd0b4b5aec0effbd797b..33338e7f138bf9646c37636f4fca017cf9401221 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.notification.markAsConfirmed': '{lang}wcf.user.notification.markAsConfirmed{/lang}',
-                       'wcf.user.notification.markAllAsConfirmed.confirmMessage': '{lang}wcf.user.notification.markAllAsConfirmed.confirmMessage{/lang}'
+                       'wcf.user.notification.markAsConfirmed': '{jslang}wcf.user.notification.markAsConfirmed{/jslang}',
+                       'wcf.user.notification.markAllAsConfirmed.confirmMessage': '{jslang}wcf.user.notification.markAllAsConfirmed.confirmMessage{/jslang}'
                });
                
                new WCF.Notification.List();
index e9e00713c424a58a9f900cfbcde8e450ee021686..c374d74ff2c64da05a4c79dd8444a550fcdd64f0 100644 (file)
@@ -66,9 +66,9 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Controller/User/Notification/Settings'], function(Language, ControllerUserNotificationSettings) {
                Language.addObject({
-                       'wcf.user.notification.mailNotificationType.daily': '{lang}wcf.user.notification.mailNotificationType.daily{/lang}',
-                       'wcf.user.notification.mailNotificationType.instant': '{lang}wcf.user.notification.mailNotificationType.instant{/lang}',
-                       'wcf.user.notification.mailNotificationType.none': '{lang}wcf.user.notification.mailNotificationType.none{/lang}'
+                       'wcf.user.notification.mailNotificationType.daily': '{jslang}wcf.user.notification.mailNotificationType.daily{/jslang}',
+                       'wcf.user.notification.mailNotificationType.instant': '{jslang}wcf.user.notification.mailNotificationType.instant{/jslang}',
+                       'wcf.user.notification.mailNotificationType.none': '{jslang}wcf.user.notification.mailNotificationType.none{/jslang}'
                });
                
                ControllerUserNotificationSettings.init();
index f48e6f274983216097a5ba741049fc5edc8c730a..c4927dc8796821ca1655d2928763610927c8930f 100644 (file)
                                        <script data-relocate="true">
                                                $(function() {
                                                        WCF.Language.addObject({
-                                                               'wcf.user.button.login': '{lang}wcf.user.button.login{/lang}',
-                                                               'wcf.user.button.register': '{lang}wcf.user.button.register{/lang}',
-                                                               'wcf.user.login': '{lang}wcf.user.login{/lang}'
+                                                               'wcf.user.button.login': '{jslang}wcf.user.button.login{/jslang}',
+                                                               'wcf.user.button.register': '{jslang}wcf.user.button.register{/jslang}',
+                                                               'wcf.user.login': '{jslang}wcf.user.login{/jslang}'
                                                        });
                                                        new WCF.User.Login(true);
                                                });
index e11431254926cb861c79b5604801e197db12af01..cb05498a4fe6854039ac3ec39f839768d05bd4f9 100644 (file)
@@ -2,8 +2,8 @@
        <script data-relocate="true">
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
-                               'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
+                               'wcf.user.recentActivity.more': '{jslang}wcf.user.recentActivity.more{/jslang}',
+                               'wcf.user.recentActivity.noMoreEntries': '{jslang}wcf.user.recentActivity.noMoreEntries{/jslang}'
                        });
                        
                        new WCF.User.RecentActivityLoader({@$userID});
index 0577fd9c4ab0c99d95335739cd3eb4a7b7b07388..c55b2b40a911cbe6c55c16238910c4d2f7d79d0e 100644 (file)
@@ -23,8 +23,8 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
-                       'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
+                       'wcf.user.recentActivity.more': '{jslang}wcf.user.recentActivity.more{/jslang}',
+                       'wcf.user.recentActivity.noMoreEntries': '{jslang}wcf.user.recentActivity.noMoreEntries{/jslang}'
                });
                
                new WCF.User.RecentActivityLoader(null);
index 82e871a32cae2e40a85197d07dcbeee0d7521fe8..056b74dd9874f4e40b717dabbdb473a57194d31f 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
-                       'wcf.user.username.error.invalid': '{lang}wcf.user.username.error.invalid{/lang}',
-                       'wcf.user.username.error.notUnique': '{lang}wcf.user.username.error.notUnique{/lang}',
-                       'wcf.user.email.error.invalid' : '{lang}wcf.user.email.error.invalid{/lang}',
-                       'wcf.user.email.error.notUnique' : '{lang}wcf.user.email.error.notUnique{/lang}',
-                       'wcf.user.confirmEmail.error.notEqual' : '{lang}wcf.user.confirmEmail.error.notEqual{/lang}',
-                       'wcf.user.password.error.notSecure' : '{lang}wcf.user.password.error.notSecure{/lang}',
-                       'wcf.user.confirmPassword.error.notEqual' : '{lang}wcf.user.confirmPassword.error.notEqual{/lang}'
+                       'wcf.global.form.error.empty': '{jslang}wcf.global.form.error.empty{/jslang}',
+                       'wcf.user.username.error.invalid': '{jslang}wcf.user.username.error.invalid{/jslang}',
+                       'wcf.user.username.error.notUnique': '{jslang}wcf.user.username.error.notUnique{/jslang}',
+                       'wcf.user.email.error.invalid' : '{jslang}wcf.user.email.error.invalid{/jslang}',
+                       'wcf.user.email.error.notUnique' : '{jslang}wcf.user.email.error.notUnique{/jslang}',
+                       'wcf.user.confirmEmail.error.notEqual' : '{jslang}wcf.user.confirmEmail.error.notEqual{/jslang}',
+                       'wcf.user.password.error.notSecure' : '{jslang}wcf.user.password.error.notSecure{/jslang}',
+                       'wcf.user.confirmPassword.error.notEqual' : '{jslang}wcf.user.confirmPassword.error.notEqual{/jslang}'
                });
                
                new WCF.User.Registration.Validation.EmailAddress($('#{@$randomFieldNames[email]}'), $('#{@$randomFieldNames[confirmEmail]}'), null);
index 18a6e86269b90f4d44cff7cefb2585a31054a310..d248dab4116383b487b73eb415a8a3034343a67c 100644 (file)
@@ -1,13 +1,13 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                Language.addObject({
-                       'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                       'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                       'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                       'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                       'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                       'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                       'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                       'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                       'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                       'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                       'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                       'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                       'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                       'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                });
                
                new UiItemListFilter('{@$pageCheckboxListContainerID}');
index 2049c5bff9da67af4516685ebe19183f0efbf9f7..45065e2eb8efeb66545f1397445d462cc8908943 100644 (file)
@@ -69,7 +69,7 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
+                       'wcf.global.preview': '{jslang}wcf.global.preview{/jslang}'
                });
                
                new WCF.User.SignaturePreview('wcf\\data\\user\\UserProfileAction', 'text', 'previewButton');
index aef1d4232de47fcf67367a8a5f3705523f77ed33..6dfa845694747c583e5534dab00b92f0b103c8ca 100644 (file)
@@ -10,8 +10,8 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Bbcode/Spoiler'], function (Language, BbcodeSpoiler) {
                Language.addObject({
-                       'wcf.bbcode.spoiler.hide' : '{lang}wcf.bbcode.spoiler.hide{/lang}',
-                       'wcf.bbcode.spoiler.show' : '{lang}wcf.bbcode.spoiler.show{/lang}'
+                       'wcf.bbcode.spoiler.hide' : '{jslang}wcf.bbcode.spoiler.hide{/jslang}',
+                       'wcf.bbcode.spoiler.show' : '{jslang}wcf.bbcode.spoiler.show{/jslang}'
                });
                
                BbcodeSpoiler.observe();
index 5be88c3716823a78a486a85a3d4944524e16cdb3..e8b47c96de10cf17f98eb9b2c6bc866291606a51 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                       'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                       'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                       'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                       'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                       'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                       'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                       'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                });
                
                new WCF.User.Action.Follow($('.userList > li'));
index db54d216f884b7450b3ecc030426718a869afa6d..26f5e56607d2c6b066ee0707b9deed4dae69ea86 100644 (file)
@@ -35,8 +35,8 @@
                <script data-relocate="true">
                        $(function() {
                                WCF.Language.addObject({
-                                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
-                                       'wcf.label.withoutSelection': '{lang}wcf.label.withoutSelection{/lang}'
+                                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
+                                       'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
                                });
                                
                                new WCF.Label.Chooser({ {implode from=$labelIDs key=groupID item=labelID}{@$groupID}: {@$labelID}{/implode} }, '#sidebarForm', undefined, true);
index bd736ee225c81fc6908c3f46e985be0b84987674..795d6c5a16c8f81fa50b013d2c3a9148d578254e 100644 (file)
@@ -35,8 +35,8 @@
 <script data-relocate="true">
        require(['WoltLabSuite/Core/Ui/File/Upload', 'Language'], function(Upload, Language) {
                Language.addObject({
-                       'wcf.upload.error.reachedRemainingLimit': '{lang __literal=true}wcf.upload.error.reachedRemainingLimit{/lang}',
-                       'wcf.upload.error.noImage': '{lang}wcf.upload.error.noImage{/lang}'
+                       'wcf.upload.error.reachedRemainingLimit': '{jslang __literal=true}wcf.upload.error.reachedRemainingLimit{/jslang}',
+                       'wcf.upload.error.noImage': '{jslang}wcf.upload.error.noImage{/jslang}'
                });
                
                new Upload("{$uploadFieldId}UploadButtonDiv", "{$uploadFieldId}uploadFileList", {
index 8841ad87df1bb10a83882d0ed968ce3af9482e50..50aee00090291170b66c3d035d2cccb7af09b4c0 100644 (file)
@@ -6,39 +6,39 @@
                {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
                        require(['Language', 'WoltLabSuite/Core/Ui/User/Editor', 'WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore', 'WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow'], function(Language, UiUserEditor, UiUserProfileMenuItemIgnore, UiUserProfileMenuItemFollow) {
                                Language.addObject({
-                                       'wcf.acp.user.disable': '{lang}wcf.acp.user.disable{/lang}',
-                                       'wcf.acp.user.enable': '{lang}wcf.acp.user.enable{/lang}',
-                                       'wcf.user.ban': '{lang}wcf.user.ban{/lang}',
+                                       'wcf.acp.user.disable': '{jslang}wcf.acp.user.disable{/jslang}',
+                                       'wcf.acp.user.enable': '{jslang}wcf.acp.user.enable{/jslang}',
+                                       'wcf.user.ban': '{jslang}wcf.user.ban{/jslang}',
                                        'wcf.user.banned': '{"wcf.user.banned"|language|encodeJS}',
-                                       'wcf.user.ban.confirmMessage': '{lang}wcf.user.ban.confirmMessage{/lang}',
-                                       'wcf.user.ban.expires': '{lang}wcf.user.ban.expires{/lang}',
-                                       'wcf.user.ban.expires.description': '{lang}wcf.user.ban.expires.description{/lang}',
-                                       'wcf.user.ban.neverExpires': '{lang}wcf.user.ban.neverExpires{/lang}',
-                                       'wcf.user.ban.reason.description': '{lang}wcf.user.ban.reason.description{/lang}',
-                                       'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                                       'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                                       'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                                       'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}',
-                                       'wcf.user.disableAvatar': '{lang}wcf.user.disableAvatar{/lang}',
-                                       'wcf.user.disableAvatar.confirmMessage': '{lang}wcf.user.disableAvatar.confirmMessage{/lang}',
-                                       'wcf.user.disableAvatar.expires': '{lang}wcf.user.disableAvatar.expires{/lang}',
-                                       'wcf.user.disableAvatar.expires.description': '{lang}wcf.user.disableAvatar.expires.description{/lang}',
-                                       'wcf.user.disableAvatar.neverExpires': '{lang}wcf.user.disableAvatar.neverExpires{/lang}',
-                                       'wcf.user.disableCoverPhoto': '{lang}wcf.user.disableCoverPhoto{/lang}',
-                                       'wcf.user.disableCoverPhoto.confirmMessage': '{lang}wcf.user.disableCoverPhoto.confirmMessage{/lang}',
-                                       'wcf.user.disableCoverPhoto.expires': '{lang}wcf.user.disableCoverPhoto.expires{/lang}',
-                                       'wcf.user.disableCoverPhoto.expires.description': '{lang}wcf.user.disableCoverPhoto.expires.description{/lang}',
-                                       'wcf.user.disableCoverPhoto.neverExpires': '{lang}wcf.user.disableCoverPhoto.neverExpires{/lang}',
-                                       'wcf.user.disableSignature': '{lang}wcf.user.disableSignature{/lang}',
-                                       'wcf.user.disableSignature.confirmMessage': '{lang}wcf.user.disableSignature.confirmMessage{/lang}',
-                                       'wcf.user.disableSignature.expires': '{lang}wcf.user.disableSignature.expires{/lang}',
-                                       'wcf.user.disableSignature.expires.description': '{lang}wcf.user.disableSignature.expires.description{/lang}',
-                                       'wcf.user.disableSignature.neverExpires': '{lang}wcf.user.disableSignature.neverExpires{/lang}',
-                                       'wcf.user.edit': '{lang}wcf.user.edit{/lang}',
-                                       'wcf.user.enableAvatar': '{lang}wcf.user.enableAvatar{/lang}',
-                                       'wcf.user.enableCoverPhoto': '{lang}wcf.user.enableCoverPhoto{/lang}',
-                                       'wcf.user.enableSignature': '{lang}wcf.user.enableSignature{/lang}',
-                                       'wcf.user.unban': '{lang}wcf.user.unban{/lang}'
+                                       'wcf.user.ban.confirmMessage': '{jslang}wcf.user.ban.confirmMessage{/jslang}',
+                                       'wcf.user.ban.expires': '{jslang}wcf.user.ban.expires{/jslang}',
+                                       'wcf.user.ban.expires.description': '{jslang}wcf.user.ban.expires.description{/jslang}',
+                                       'wcf.user.ban.neverExpires': '{jslang}wcf.user.ban.neverExpires{/jslang}',
+                                       'wcf.user.ban.reason.description': '{jslang}wcf.user.ban.reason.description{/jslang}',
+                                       'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                                       'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                                       'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                                       'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}',
+                                       'wcf.user.disableAvatar': '{jslang}wcf.user.disableAvatar{/jslang}',
+                                       'wcf.user.disableAvatar.confirmMessage': '{jslang}wcf.user.disableAvatar.confirmMessage{/jslang}',
+                                       'wcf.user.disableAvatar.expires': '{jslang}wcf.user.disableAvatar.expires{/jslang}',
+                                       'wcf.user.disableAvatar.expires.description': '{jslang}wcf.user.disableAvatar.expires.description{/jslang}',
+                                       'wcf.user.disableAvatar.neverExpires': '{jslang}wcf.user.disableAvatar.neverExpires{/jslang}',
+                                       'wcf.user.disableCoverPhoto': '{jslang}wcf.user.disableCoverPhoto{/jslang}',
+                                       'wcf.user.disableCoverPhoto.confirmMessage': '{jslang}wcf.user.disableCoverPhoto.confirmMessage{/jslang}',
+                                       'wcf.user.disableCoverPhoto.expires': '{jslang}wcf.user.disableCoverPhoto.expires{/jslang}',
+                                       'wcf.user.disableCoverPhoto.expires.description': '{jslang}wcf.user.disableCoverPhoto.expires.description{/jslang}',
+                                       'wcf.user.disableCoverPhoto.neverExpires': '{jslang}wcf.user.disableCoverPhoto.neverExpires{/jslang}',
+                                       'wcf.user.disableSignature': '{jslang}wcf.user.disableSignature{/jslang}',
+                                       'wcf.user.disableSignature.confirmMessage': '{jslang}wcf.user.disableSignature.confirmMessage{/jslang}',
+                                       'wcf.user.disableSignature.expires': '{jslang}wcf.user.disableSignature.expires{/jslang}',
+                                       'wcf.user.disableSignature.expires.description': '{jslang}wcf.user.disableSignature.expires.description{/jslang}',
+                                       'wcf.user.disableSignature.neverExpires': '{jslang}wcf.user.disableSignature.neverExpires{/jslang}',
+                                       'wcf.user.edit': '{jslang}wcf.user.edit{/jslang}',
+                                       'wcf.user.enableAvatar': '{jslang}wcf.user.enableAvatar{/jslang}',
+                                       'wcf.user.enableCoverPhoto': '{jslang}wcf.user.enableCoverPhoto{/jslang}',
+                                       'wcf.user.enableSignature': '{jslang}wcf.user.enableSignature{/jslang}',
+                                       'wcf.user.unban': '{jslang}wcf.user.unban{/jslang}'
                                });
                                
                                {if $isAccessible}
@@ -58,7 +58,7 @@
                $(function() {
                        {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
                                WCF.Language.addObject({
-                                       'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}'
+                                       'wcf.user.activityPoint': '{jslang}wcf.user.activityPoint{/jslang}'
                                });
                        {/if}
                        
@@ -66,7 +66,7 @@
                        
                        {if $user->canEdit() || ($__wcf->getUser()->userID == $user->userID && $user->canEditOwnProfile())}
                                WCF.Language.addObject({
-                                       'wcf.user.editProfile': '{lang}wcf.user.editProfile{/lang}'
+                                       'wcf.user.editProfile': '{jslang}wcf.user.editProfile{/jslang}'
                                });
                                
                                var userProfileEditor = new WCF.User.Profile.Editor({@$user->userID}, {if $editOnInit}true{else}false{/if});
                        
                        {if $__wcf->session->getPermission('user.profile.canReportContent')}
                                WCF.Language.addObject({
-                                       'wcf.moderation.report.reportContent': '{lang}wcf.user.profile.report{/lang}',
-                                       'wcf.moderation.report.success': '{lang}wcf.moderation.report.success{/lang}'
+                                       'wcf.moderation.report.reportContent': '{jslang}wcf.user.profile.report{/jslang}',
+                                       'wcf.moderation.report.success': '{jslang}wcf.moderation.report.success{/jslang}'
                                });
                                new WCF.Moderation.Report.Content('com.woltlab.wcf.user', '.jsReportUser');
                        {/if}
                <script data-relocate="true">
                        require(['Language', 'WoltLabSuite/Core/Ui/User/CoverPhoto/Upload'], function (Language, UiUserCoverPhotoUpload) {
                                Language.addObject({
-                                       'wcf.user.coverPhoto.delete.confirmMessage': '{lang}wcf.user.coverPhoto.delete.confirmMessage{/lang}',
-                                       'wcf.user.coverPhoto.upload.error.fileExtension': '{lang}wcf.user.coverPhoto.upload.error.fileExtension{/lang}',
-                                       'wcf.user.coverPhoto.upload.error.tooLarge': '{lang}wcf.user.coverPhoto.upload.error.tooLarge{/lang}',
-                                       'wcf.user.coverPhoto.upload.error.uploadFailed': '{lang}wcf.user.coverPhoto.upload.error.uploadFailed{/lang}',
-                                       'wcf.user.coverPhoto.upload.error.badImage': '{lang}wcf.user.coverPhoto.upload.error.badImage{/lang}'
+                                       'wcf.user.coverPhoto.delete.confirmMessage': '{jslang}wcf.user.coverPhoto.delete.confirmMessage{/jslang}',
+                                       'wcf.user.coverPhoto.upload.error.fileExtension': '{jslang}wcf.user.coverPhoto.upload.error.fileExtension{/jslang}',
+                                       'wcf.user.coverPhoto.upload.error.tooLarge': '{jslang}wcf.user.coverPhoto.upload.error.tooLarge{/jslang}',
+                                       'wcf.user.coverPhoto.upload.error.uploadFailed': '{jslang}wcf.user.coverPhoto.upload.error.uploadFailed{/jslang}',
+                                       'wcf.user.coverPhoto.upload.error.badImage': '{jslang}wcf.user.coverPhoto.upload.error.badImage{/jslang}'
                                });
                                
                                {if !$__wcf->user->disableCoverPhoto}
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Ui/User/CoverPhoto/Delete'], function (Language, UiUserCoverPhotoDelete) {
                        Language.addObject({
-                               'wcf.user.coverPhoto.delete.confirmMessage': '{lang}wcf.user.coverPhoto.delete.confirmMessage{/lang}'
+                               'wcf.user.coverPhoto.delete.confirmMessage': '{jslang}wcf.user.coverPhoto.delete.confirmMessage{/jslang}'
                        });
                        
                        UiUserCoverPhotoDelete.init({@$user->userID});
index 245abdf21a2fa48a06f20c60322654d173a6e3bc..2ad11bec3574eb9af4de46e64fe772ee9a06edb5 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                       'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                       'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                       'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                       'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                       'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                       'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                       'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                });
                
                new WCF.User.Action.Follow($('.jsGroupedUserList > li'));
index 64f0b3c93d50c2aa136fc612adf20cc6c143f35b..079379322797d57f1cbdc8ab01dc0902fcd886c2 100644 (file)
@@ -1,8 +1,8 @@
 <script data-relocate="true">
        require(['WoltLabSuite/Core/Ui/Reaction/Profile/Loader', 'Language'], function(UiReactionProfileLoader, Language) {
                Language.addObject({
-                       'wcf.like.reaction.noMoreEntries': '{lang}wcf.like.reaction.noMoreEntries{/lang}',
-                       'wcf.like.reaction.more': '{lang}wcf.like.reaction.more{/lang}'
+                       'wcf.like.reaction.noMoreEntries': '{jslang}wcf.like.reaction.noMoreEntries{/jslang}',
+                       'wcf.like.reaction.more': '{jslang}wcf.like.reaction.more{/jslang}'
                });
                
                new UiReactionProfileLoader({@$userID});
@@ -26,4 +26,4 @@
        </li>
        
        {include file='userProfileLikeItem'}
-</ul>
\ No newline at end of file
+</ul>
index 3106c79bdd17fe3ecb9b5bf5d397aea4378826a4..217ac915dfe102cf9185440d1cfc5818851e559c 100644 (file)
                        <script data-relocate="true">
                                $(function() {
                                        WCF.Language.addObject({
-                                               'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                                               'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                                               'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                                               'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                                               'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                                               'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                                               'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                                               'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                                        });
                                        
                                        new WCF.User.Action.Follow($('.userInformation'));
index c4a3a5463c76f53628110f444b1d534d40a9cd93..513ef58d08ed28303309df85b8b64a258f47e090 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
-                       'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
-                       'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
-                       'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+                       'wcf.user.button.follow': '{jslang}wcf.user.button.follow{/jslang}',
+                       'wcf.user.button.ignore': '{jslang}wcf.user.button.ignore{/jslang}',
+                       'wcf.user.button.unfollow': '{jslang}wcf.user.button.unfollow{/jslang}',
+                       'wcf.user.button.unignore': '{jslang}wcf.user.button.unignore{/jslang}'
                });
                
                new WCF.User.Action.Follow($('.userList > li'));
index 6d6ca7a7595483435e0931a26a9826de92a5119d..3249368cd9ced53d91d3fdced6856e49214111d4 100644 (file)
@@ -33,8 +33,8 @@
                <script data-relocate="true">
                        $(function() {
                                WCF.Language.addObject({
-                                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
-                                       'wcf.label.withoutSelection': '{lang}wcf.label.withoutSelection{/lang}'
+                                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
+                                       'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
                                });
                                
                                new WCF.Label.Chooser({ {implode from=$labelIDs key=groupID item=labelID}{@$groupID}: {@$labelID}{/implode} }, '#sidebarForm', undefined, true);
index 9c4b1046495914b6807a38824ebaeb5419ca1af0..17c5ce2844058fd60397c44a86d0ee183795c416 100644 (file)
        ], function () {
                require(['Environment', 'Language', 'WoltLabSuite/Core/Ui/Redactor/Autosave', 'WoltLabSuite/Core/Ui/Redactor/Metacode'], function(Environment, Language, UiRedactorAutosave, UiRedactorMetacode) {
                        Language.addObject({
-                               'wcf.attachment.dragAndDrop.dropHere': '{lang}wcf.attachment.dragAndDrop.dropHere{/lang}',
-                               'wcf.attachment.dragAndDrop.dropNow': '{lang}wcf.attachment.dragAndDrop.dropNow{/lang}',
+                               'wcf.attachment.dragAndDrop.dropHere': '{jslang}wcf.attachment.dragAndDrop.dropHere{/jslang}',
+                               'wcf.attachment.dragAndDrop.dropNow': '{jslang}wcf.attachment.dragAndDrop.dropNow{/jslang}',
                                
-                               'wcf.editor.autosave.discard': '{lang}wcf.editor.autosave.discard{/lang}',
-                               'wcf.editor.autosave.keep': '{lang}wcf.editor.autosave.keep{/lang}',
-                               'wcf.editor.autosave.restored': '{lang}wcf.editor.autosave.restored{/lang}',
+                               'wcf.editor.autosave.discard': '{jslang}wcf.editor.autosave.discard{/jslang}',
+                               'wcf.editor.autosave.keep': '{jslang}wcf.editor.autosave.keep{/jslang}',
+                               'wcf.editor.autosave.restored': '{jslang}wcf.editor.autosave.restored{/jslang}',
                                
-                               'wcf.editor.code.edit': '{lang}wcf.editor.code.edit{/lang}',
-                               'wcf.editor.code.file': '{lang}wcf.editor.code.file{/lang}',
-                               'wcf.editor.code.file.description': '{lang}wcf.editor.code.file.description{/lang}',
-                               'wcf.editor.code.highlighter': '{lang}wcf.editor.code.highlighter{/lang}',
-                               'wcf.editor.code.highlighter.description': '{lang}wcf.editor.code.highlighter.description{/lang}',
-                               'wcf.editor.code.highlighter.detect': '{lang}wcf.editor.code.highlighter.detect{/lang}',
-                               'wcf.editor.code.highlighter.plain': '{lang}wcf.editor.code.highlighter.plain{/lang}',
-                               'wcf.editor.code.line': '{lang}wcf.editor.code.line{/lang}',
-                               'wcf.editor.code.line.description': '{lang}wcf.editor.code.line.description{/lang}',
-                               'wcf.editor.code.title': '{lang __literal=true}wcf.editor.code.title{/lang}',
+                               'wcf.editor.code.edit': '{jslang}wcf.editor.code.edit{/jslang}',
+                               'wcf.editor.code.file': '{jslang}wcf.editor.code.file{/jslang}',
+                               'wcf.editor.code.file.description': '{jslang}wcf.editor.code.file.description{/jslang}',
+                               'wcf.editor.code.highlighter': '{jslang}wcf.editor.code.highlighter{/jslang}',
+                               'wcf.editor.code.highlighter.description': '{jslang}wcf.editor.code.highlighter.description{/jslang}',
+                               'wcf.editor.code.highlighter.detect': '{jslang}wcf.editor.code.highlighter.detect{/jslang}',
+                               'wcf.editor.code.highlighter.plain': '{jslang}wcf.editor.code.highlighter.plain{/jslang}',
+                               'wcf.editor.code.line': '{jslang}wcf.editor.code.line{/jslang}',
+                               'wcf.editor.code.line.description': '{jslang}wcf.editor.code.line.description{/jslang}',
+                               'wcf.editor.code.title': '{jslang __literal=true}wcf.editor.code.title{/jslang}',
                                
-                               'wcf.editor.html.description': '{lang}wcf.editor.html.description{/lang}',
-                               'wcf.editor.html.title': '{lang}wcf.editor.html.title{/lang}',
+                               'wcf.editor.html.description': '{jslang}wcf.editor.html.description{/jslang}',
+                               'wcf.editor.html.title': '{jslang}wcf.editor.html.title{/jslang}',
                                
-                               'wcf.editor.image.edit': '{lang}wcf.editor.image.edit{/lang}',
-                               'wcf.editor.image.insert': '{lang}wcf.editor.image.insert{/lang}',
-                               'wcf.editor.image.link': '{lang}wcf.editor.image.link{/lang}',
-                               'wcf.editor.image.link.error.invalid': '{lang}wcf.editor.image.link.error.invalid{/lang}',
-                               'wcf.editor.image.float': '{lang}wcf.editor.image.float{/lang}',
-                               'wcf.editor.image.float.left': '{lang}wcf.editor.image.float.left{/lang}',
-                               'wcf.editor.image.float.right': '{lang}wcf.editor.image.float.right{/lang}',
-                               'wcf.editor.image.source': '{lang}wcf.editor.image.source{/lang}',
-                               'wcf.editor.image.source.error.blocked': '{lang}wcf.editor.image.source.error.blocked{/lang}',
-                               'wcf.editor.image.source.error.insecure': '{lang}wcf.editor.image.source.error.insecure{/lang}',
-                               'wcf.editor.image.source.error.invalid': '{lang}wcf.editor.image.source.error.invalid{/lang}',
+                               'wcf.editor.image.edit': '{jslang}wcf.editor.image.edit{/jslang}',
+                               'wcf.editor.image.insert': '{jslang}wcf.editor.image.insert{/jslang}',
+                               'wcf.editor.image.link': '{jslang}wcf.editor.image.link{/jslang}',
+                               'wcf.editor.image.link.error.invalid': '{jslang}wcf.editor.image.link.error.invalid{/jslang}',
+                               'wcf.editor.image.float': '{jslang}wcf.editor.image.float{/jslang}',
+                               'wcf.editor.image.float.left': '{jslang}wcf.editor.image.float.left{/jslang}',
+                               'wcf.editor.image.float.right': '{jslang}wcf.editor.image.float.right{/jslang}',
+                               'wcf.editor.image.source': '{jslang}wcf.editor.image.source{/jslang}',
+                               'wcf.editor.image.source.error.blocked': '{jslang}wcf.editor.image.source.error.blocked{/jslang}',
+                               'wcf.editor.image.source.error.insecure': '{jslang}wcf.editor.image.source.error.insecure{/jslang}',
+                               'wcf.editor.image.source.error.invalid': '{jslang}wcf.editor.image.source.error.invalid{/jslang}',
                                
-                               'wcf.editor.link.add': '{lang}wcf.editor.link.add{/lang}',
-                               'wcf.editor.link.edit': '{lang}wcf.editor.link.edit{/lang}',
-                               'wcf.editor.link.error.invalid': '{lang}wcf.editor.link.error.invalid{/lang}',
-                               'wcf.editor.link.url': '{lang}wcf.editor.link.url{/lang}',
-                               'wcf.editor.link.text': '{lang}wcf.editor.link.text{/lang}',
+                               'wcf.editor.link.add': '{jslang}wcf.editor.link.add{/jslang}',
+                               'wcf.editor.link.edit': '{jslang}wcf.editor.link.edit{/jslang}',
+                               'wcf.editor.link.error.invalid': '{jslang}wcf.editor.link.error.invalid{/jslang}',
+                               'wcf.editor.link.url': '{jslang}wcf.editor.link.url{/jslang}',
+                               'wcf.editor.link.text': '{jslang}wcf.editor.link.text{/jslang}',
                                
-                               'wcf.editor.list.indent': '{lang}wcf.editor.list.indent{/lang}',
-                               'wcf.editor.list.outdent': '{lang}wcf.editor.list.outdent{/lang}',
+                               'wcf.editor.list.indent': '{jslang}wcf.editor.list.indent{/jslang}',
+                               'wcf.editor.list.outdent': '{jslang}wcf.editor.list.outdent{/jslang}',
                                
-                               'wcf.editor.quote.author': '{lang}wcf.editor.quote.author{/lang}',
-                               'wcf.editor.quote.edit': '{lang}wcf.editor.quote.edit{/lang}',
-                               'wcf.editor.quote.title': '{lang __literal=true}wcf.editor.quote.title{/lang}',
-                               'wcf.editor.quote.url': '{lang}wcf.editor.quote.url{/lang}',
-                               'wcf.editor.quote.url.description': '{lang}wcf.editor.quote.url.description{/lang}',
-                               'wcf.editor.quote.url.error.invalid': '{lang}wcf.editor.quote.url.error.invalid{/lang}',
+                               'wcf.editor.quote.author': '{jslang}wcf.editor.quote.author{/jslang}',
+                               'wcf.editor.quote.edit': '{jslang}wcf.editor.quote.edit{/jslang}',
+                               'wcf.editor.quote.title': '{jslang __literal=true}wcf.editor.quote.title{/jslang}',
+                               'wcf.editor.quote.url': '{jslang}wcf.editor.quote.url{/jslang}',
+                               'wcf.editor.quote.url.description': '{jslang}wcf.editor.quote.url.description{/jslang}',
+                               'wcf.editor.quote.url.error.invalid': '{jslang}wcf.editor.quote.url.error.invalid{/jslang}',
                                
-                               'wcf.editor.table.cols': '{lang}wcf.editor.table.cols{/lang}',
-                               'wcf.editor.table.insertTable': '{lang}wcf.editor.table.insertTable{/lang}',
-                               'wcf.editor.table.rows': '{lang}wcf.editor.table.rows{/lang}',
+                               'wcf.editor.table.cols': '{jslang}wcf.editor.table.cols{/jslang}',
+                               'wcf.editor.table.insertTable': '{jslang}wcf.editor.table.insertTable{/jslang}',
+                               'wcf.editor.table.rows': '{jslang}wcf.editor.table.rows{/jslang}',
                                
-                               'wcf.editor.source.error.active': '{lang}wcf.editor.source.error.active{/lang}',
+                               'wcf.editor.source.error.active': '{jslang}wcf.editor.source.error.active{/jslang}',
                                
-                               'wcf.editor.spoiler.label': '{lang}wcf.editor.spoiler.label{/lang}',
-                               'wcf.editor.spoiler.label.description': '{lang}wcf.editor.spoiler.label.description{/lang}',
-                               'wcf.editor.spoiler.edit': '{lang}wcf.editor.spoiler.edit{/lang}',
-                               'wcf.editor.spoiler.title': '{lang __literal=true}wcf.editor.spoiler.title{/lang}'
+                               'wcf.editor.spoiler.label': '{jslang}wcf.editor.spoiler.label{/jslang}',
+                               'wcf.editor.spoiler.label.description': '{jslang}wcf.editor.spoiler.label.description{/jslang}',
+                               'wcf.editor.spoiler.edit': '{jslang}wcf.editor.spoiler.edit{/jslang}',
+                               'wcf.editor.spoiler.title': '{jslang __literal=true}wcf.editor.spoiler.title{/jslang}'
                        });
                        
                        var allowedInlineStyles = [], buttons = [], buttonMobile = [], buttonOptions = [], customButtons = [];
                        var config = {
                                buttons: buttons,
                                clipboardImageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('attach')}true{else}false{/if},
-                               direction: '{lang}wcf.global.pageDirection{/lang}',
+                               direction: '{jslang}wcf.global.pageDirection{/jslang}',
                                formatting: ['p', 'h2', 'h3', 'h4'],
                                imageCaption: false,
                                imageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('attach')}true{else}false{/if},
                                langs: {
                                        wsc: {
                                                // general
-                                               edit: '{lang}wcf.global.button.edit{/lang}',
+                                               edit: '{jslang}wcf.global.button.edit{/jslang}',
                                                
                                                // formatting dropdown
-                                               heading2: '{lang}wcf.editor.format.heading2{/lang}',
-                                               heading3: '{lang}wcf.editor.format.heading3{/lang}',
-                                               heading4: '{lang}wcf.editor.format.heading4{/lang}',
-                                               paragraph: '{lang}wcf.editor.format.paragraph{/lang}',
+                                               heading2: '{jslang}wcf.editor.format.heading2{/jslang}',
+                                               heading3: '{jslang}wcf.editor.format.heading3{/jslang}',
+                                               heading4: '{jslang}wcf.editor.format.heading4{/jslang}',
+                                               paragraph: '{jslang}wcf.editor.format.paragraph{/jslang}',
                                                
                                                // links
-                                               'link-edit': '{lang}wcf.editor.link.edit{/lang}',
-                                               'link-insert': '{lang}wcf.editor.link.add{/lang}',
-                                               unlink: '{lang}wcf.editor.link.unlink{/lang}',
+                                               'link-edit': '{jslang}wcf.editor.link.edit{/jslang}',
+                                               'link-insert': '{jslang}wcf.editor.link.add{/jslang}',
+                                               unlink: '{jslang}wcf.editor.link.unlink{/jslang}',
                                                
                                                // text alignment
-                                               'align-center': '{lang}wcf.editor.alignment.center{/lang}',
-                                               'align-justify': '{lang}wcf.editor.alignment.justify{/lang}',
-                                               'align-left': '{lang}wcf.editor.alignment.left{/lang}',
-                                               'align-right': '{lang}wcf.editor.alignment.right{/lang}',
+                                               'align-center': '{jslang}wcf.editor.alignment.center{/jslang}',
+                                               'align-justify': '{jslang}wcf.editor.alignment.justify{/jslang}',
+                                               'align-left': '{jslang}wcf.editor.alignment.left{/jslang}',
+                                               'align-right': '{jslang}wcf.editor.alignment.right{/jslang}',
                                                
                                                // table plugin
-                                               'add-head': '{lang}wcf.editor.table.addHead{/lang}',
-                                               'delete-column': '{lang}wcf.editor.table.deleteColumn{/lang}',
-                                               'delete-head': '{lang}wcf.editor.table.deleteHead{/lang}',
-                                               'delete-row': '{lang}wcf.editor.table.deleteRow{/lang}',
-                                               'delete-table': '{lang}wcf.editor.table.deleteTable{/lang}',
-                                               'insert-table': '{lang}wcf.editor.table.insertTable{/lang}',
-                                               'insert-column-left': '{lang}wcf.editor.table.insertColumnLeft{/lang}',
-                                               'insert-column-right': '{lang}wcf.editor.table.insertColumnRight{/lang}',
-                                               'insert-row-above': '{lang}wcf.editor.table.insertRowAbove{/lang}',
-                                               'insert-row-below': '{lang}wcf.editor.table.insertRowBelow{/lang}',
+                                               'add-head': '{jslang}wcf.editor.table.addHead{/jslang}',
+                                               'delete-column': '{jslang}wcf.editor.table.deleteColumn{/jslang}',
+                                               'delete-head': '{jslang}wcf.editor.table.deleteHead{/jslang}',
+                                               'delete-row': '{jslang}wcf.editor.table.deleteRow{/jslang}',
+                                               'delete-table': '{jslang}wcf.editor.table.deleteTable{/jslang}',
+                                               'insert-table': '{jslang}wcf.editor.table.insertTable{/jslang}',
+                                               'insert-column-left': '{jslang}wcf.editor.table.insertColumnLeft{/jslang}',
+                                               'insert-column-right': '{jslang}wcf.editor.table.insertColumnRight{/jslang}',
+                                               'insert-row-above': '{jslang}wcf.editor.table.insertRowAbove{/jslang}',
+                                               'insert-row-below': '{jslang}wcf.editor.table.insertRowBelow{/jslang}',
                                                
                                                // size
-                                               'remove-size': '{lang}wcf.editor.button.size.removeSize{/lang}',
+                                               'remove-size': '{jslang}wcf.editor.button.size.removeSize{/jslang}',
                                                
                                                // color
-                                               'remove-color': '{lang}wcf.editor.button.color.removeColor{/lang}',
+                                               'remove-color': '{jslang}wcf.editor.button.color.removeColor{/jslang}',
                                                
                                                // font
-                                               'remove-font': '{lang}wcf.editor.button.font.removeFont{/lang}'
+                                               'remove-font': '{jslang}wcf.editor.button.font.removeFont{/jslang}'
                                        }
                                },
                                linkify: false,
index fc615ab6e2520bedfdeba9c07b78ae465650df8f..cf7319cad98bd8521d204fa8b6a707b0113ebe3c 100644 (file)
                        AcpUiCodeMirrorPage
                ) {
                        Language.addObject({
-                               'wcf.page.search': '{lang}wcf.page.search{/lang}',
-                               'wcf.page.search.error.tooShort': '{lang}wcf.page.search.error.tooShort{/lang}',
-                               'wcf.page.search.error.noResults': '{lang}wcf.page.search.error.noResults{/lang}',
-                               'wcf.page.search.name': '{lang}wcf.page.search.name{/lang}',
-                               'wcf.page.search.results': '{lang}wcf.page.search.results{/lang}',
+                               'wcf.page.search': '{jslang}wcf.page.search{/jslang}',
+                               'wcf.page.search.error.tooShort': '{jslang}wcf.page.search.error.tooShort{/jslang}',
+                               'wcf.page.search.error.noResults': '{jslang}wcf.page.search.error.noResults{/jslang}',
+                               'wcf.page.search.name': '{jslang}wcf.page.search.name{/jslang}',
+                               'wcf.page.search.results': '{jslang}wcf.page.search.results{/jslang}',
                        });
                        
                        new AcpUiCodeMirrorMedia('content{@$languageID}');
index 8b7ce83734caf4eaca7239b22c2e931b7bc41422..14e7ee04ea54d83e2b2ec4dd23d61c1cf5b43efc 100644 (file)
@@ -1,8 +1,8 @@
 <script data-relocate="true">
        require(['Language'], function(Language) {
                Language.addObject({
-                       'wcf.acp.pip.box.visibilityExceptions.hiddenEverywhere': '{lang}wcf.acp.pip.box.visibilityExceptions.hiddenEverywhere{/lang}',
-                       'wcf.acp.pip.box.visibilityExceptions.visibleEverywhere': '{lang}wcf.acp.pip.box.visibilityExceptions.visibleEverywhere{/lang}'
+                       'wcf.acp.pip.box.visibilityExceptions.hiddenEverywhere': '{jslang}wcf.acp.pip.box.visibilityExceptions.hiddenEverywhere{/jslang}',
+                       'wcf.acp.pip.box.visibilityExceptions.visibleEverywhere': '{jslang}wcf.acp.pip.box.visibilityExceptions.visibleEverywhere{/jslang}'
                });
                
                var visibleEverywhere = elById('visibleEverywhere');
index cbc3d856b237f25004b972ae42d2f3a8067d339c..4dbd802c3ab4e20b6a427ca76fe92db370f77759 100644 (file)
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Form/Builder/Field/Devtools/Project/ExcludedPackages'], function(Language, ExcludedPackagesFormField) {
                Language.addObject({
-                       'wcf.acp.devtools.project.packageIdentifier.error.duplicate': '{lang}wcf.acp.devtools.project.packageIdentifier.error.duplicate{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.format': '{lang}wcf.acp.devtools.project.packageIdentifier.error.format{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.maximumLength': '{lang}wcf.acp.devtools.project.packageIdentifier.error.maximumLength{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.minimumLength': '{lang}wcf.acp.devtools.project.packageIdentifier.error.minimumLength{/lang}',
-                       'wcf.acp.devtools.project.packageVersion.error.format': '{lang}wcf.acp.devtools.project.packageVersion.error.format{/lang}',
-                       'wcf.acp.devtools.project.packageVersion.error.maximumLength': '{lang}wcf.acp.devtools.project.packageVersion.error.maximumLength{/lang}',
-                       'wcf.acp.devtools.project.excludedPackage.excludedPackage': '{capture assign=__languageItem}{lang __literal=true}wcf.acp.devtools.project.excludedPackage.excludedPackage{/lang}{/capture}{@$__languageItem|encodeJS}'
+                       'wcf.acp.devtools.project.packageIdentifier.error.duplicate': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.duplicate{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.format': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.format{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.maximumLength': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.maximumLength{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.minimumLength': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.minimumLength{/jslang}',
+                       'wcf.acp.devtools.project.packageVersion.error.format': '{jslang}wcf.acp.devtools.project.packageVersion.error.format{/jslang}',
+                       'wcf.acp.devtools.project.packageVersion.error.maximumLength': '{jslang}wcf.acp.devtools.project.packageVersion.error.maximumLength{/jslang}',
+                       'wcf.acp.devtools.project.excludedPackage.excludedPackage': '{jslang __literal=true}wcf.acp.devtools.project.excludedPackage.excludedPackage{/jslang}'
                });
                
                new ExcludedPackagesFormField('{@$field->getPrefixedId()}', [
index 7c93c450ce5ce40d29ffbd7dba5dbe69f29ca12a..a8bd9c71bb984fd0da6455b7f882867eedea3fee 100644 (file)
@@ -2,8 +2,8 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Devtools/Project/Installation/Confirmation'], function(Language, DevtoolsProjectInstallationConfirmation) {
                        Language.addObject({
-                               'wcf.acp.devtools.project.installPackage.confirmMessage': '{lang __literal=true}wcf.acp.devtools.project.installPackage.confirmMessage{/lang}',
-                               'wcf.acp.package.install.title': '{lang}wcf.acp.package.install.title{/lang}'
+                               'wcf.acp.devtools.project.installPackage.confirmMessage': '{jslang __literal=true}wcf.acp.devtools.project.installPackage.confirmMessage{/jslang}',
+                               'wcf.acp.package.install.title': '{jslang}wcf.acp.package.install.title{/jslang}'
                        });
                        
                        DevtoolsProjectInstallationConfirmation.init({@$project->projectID}, '{@$project->name|encodeJS}');
index c3edaf217ea6e8c5224ea658ae1c4cb77728adb6..98aea961136edd6eb7ad592ea9ba12d787139bb7 100644 (file)
                Template
        ) {
                Language.addObject({
-                       'wcf.acp.devtools.project.instruction.delete.confirmMessages': '{lang}wcf.acp.devtools.project.instruction.delete.confirmMessages{/lang}',
-                       'wcf.acp.devtools.project.instruction.edit': '{lang}wcf.acp.devtools.project.instruction.edit{/lang}',
-                       'wcf.acp.devtools.project.instruction.instruction': '{capture assign=__languageItem}{lang __literal=true}wcf.acp.devtools.project.instruction.instruction{/lang}{/capture}{@$__languageItem|encodeJS}',
-                       'wcf.acp.devtools.project.instruction.value.description': '{lang}wcf.acp.devtools.project.instruction.value.description{/lang}',
-                       'wcf.acp.devtools.project.instruction.value.description.defaultFilename': '{lang __literal=true}wcf.acp.devtools.project.instruction.value.description.defaultFilename{/lang}',
-                       'wcf.acp.devtools.project.instructions.delete.confirmMessages': '{lang}wcf.acp.devtools.project.instructions.delete.confirmMessages{/lang}',
-                       'wcf.acp.devtools.project.instructions.edit': '{lang}wcf.acp.devtools.project.instructions.edit{/lang}',
-                       'wcf.acp.devtools.project.instructions.instructions.description': '{lang}wcf.acp.devtools.project.instructions.instructions.description{/lang}',
-                       'wcf.acp.devtools.project.instructions.type.install.title': '{lang}wcf.acp.devtools.project.instructions.type.install.title{/lang}',
-                       'wcf.acp.devtools.project.instructions.type.update.error.duplicate': '{lang}wcf.acp.devtools.project.instructions.type.update.error.duplicate{/lang}',
-                       'wcf.acp.devtools.project.instructions.type.update.title': '{lang __literal=true}wcf.acp.devtools.project.instructions.type.update.title{/lang}',
-                       'wcf.global.form.error.noValidSelection': '{lang}wcf.global.form.error.noValidSelection{/lang}'
+                       'wcf.acp.devtools.project.instruction.delete.confirmMessages': '{jslang}wcf.acp.devtools.project.instruction.delete.confirmMessages{/jslang}',
+                       'wcf.acp.devtools.project.instruction.edit': '{jslang}wcf.acp.devtools.project.instruction.edit{/jslang}',
+                       'wcf.acp.devtools.project.instruction.instruction': '{jslang __literal=true}wcf.acp.devtools.project.instruction.instruction{/jslang}',
+                       'wcf.acp.devtools.project.instruction.value.description': '{jslang}wcf.acp.devtools.project.instruction.value.description{/jslang}',
+                       'wcf.acp.devtools.project.instruction.value.description.defaultFilename': '{jslang __literal=true}wcf.acp.devtools.project.instruction.value.description.defaultFilename{/jslang}',
+                       'wcf.acp.devtools.project.instructions.delete.confirmMessages': '{jslang}wcf.acp.devtools.project.instructions.delete.confirmMessages{/jslang}',
+                       'wcf.acp.devtools.project.instructions.edit': '{jslang}wcf.acp.devtools.project.instructions.edit{/jslang}',
+                       'wcf.acp.devtools.project.instructions.instructions.description': '{jslang}wcf.acp.devtools.project.instructions.instructions.description{/jslang}',
+                       'wcf.acp.devtools.project.instructions.type.install.title': '{jslang}wcf.acp.devtools.project.instructions.type.install.title{/jslang}',
+                       'wcf.acp.devtools.project.instructions.type.update.error.duplicate': '{jslang}wcf.acp.devtools.project.instructions.type.update.error.duplicate{/jslang}',
+                       'wcf.acp.devtools.project.instructions.type.update.title': '{jslang __literal=true}wcf.acp.devtools.project.instructions.type.update.title{/jslang}',
+                       'wcf.global.form.error.noValidSelection': '{jslang}wcf.global.form.error.noValidSelection{/jslang}'
                });
                
                var instructionsTemplate = new Template('{@$instructionsTemplate|encodeJS}');
index 38eb82cbe62ad375db07b5a2114a2d2a0f691538..d6ad6838c73c97236f15e8c149bd9b9a6e78d28f 100644 (file)
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Form/Builder/Field/Devtools/Project/OptionalPackages'], function(Language, OptionalPackagesFormField) {
                Language.addObject({
-                       'wcf.acp.devtools.project.packageIdentifier.error.duplicate': '{lang}wcf.acp.devtools.project.packageIdentifier.error.duplicate{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.format': '{lang}wcf.acp.devtools.project.packageIdentifier.error.format{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.maximumLength': '{lang}wcf.acp.devtools.project.packageIdentifier.error.maximumLength{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.minimumLength': '{lang}wcf.acp.devtools.project.packageIdentifier.error.minimumLength{/lang}',
-                       'wcf.acp.devtools.project.packageVersion.error.format': '{lang}wcf.acp.devtools.project.packageVersion.error.format{/lang}',
-                       'wcf.acp.devtools.project.packageVersion.error.maximumLength': '{lang}wcf.acp.devtools.project.packageVersion.error.maximumLength{/lang}',
-                       'wcf.acp.devtools.project.optionalPackage.optionalPackage': '{lang __literal=true}wcf.acp.devtools.project.optionalPackage.optionalPackage{/lang}'
+                       'wcf.acp.devtools.project.packageIdentifier.error.duplicate': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.duplicate{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.format': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.format{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.maximumLength': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.maximumLength{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.minimumLength': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.minimumLength{/jslang}',
+                       'wcf.acp.devtools.project.packageVersion.error.format': '{jslang}wcf.acp.devtools.project.packageVersion.error.format{/jslang}',
+                       'wcf.acp.devtools.project.packageVersion.error.maximumLength': '{jslang}wcf.acp.devtools.project.packageVersion.error.maximumLength{/jslang}',
+                       'wcf.acp.devtools.project.optionalPackage.optionalPackage': '{jslang __literal=true}wcf.acp.devtools.project.optionalPackage.optionalPackage{/jslang}'
                });
                
                new OptionalPackagesFormField('{@$field->getPrefixedId()}', [
index 463248163022aaa4022c8360d4e95821388dc2df..916f4833fb9d6a8a3c2aff1015a41c50cee205fe 100644 (file)
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Form/Builder/Field/Devtools/Project/RequiredPackages'], function(Language, RequiredPackagesFormField) {
                Language.addObject({
-                       'wcf.acp.devtools.project.packageIdentifier.error.duplicate': '{lang}wcf.acp.devtools.project.packageIdentifier.error.duplicate{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.format': '{lang}wcf.acp.devtools.project.packageIdentifier.error.format{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.maximumLength': '{lang}wcf.acp.devtools.project.packageIdentifier.error.maximumLength{/lang}',
-                       'wcf.acp.devtools.project.packageIdentifier.error.minimumLength': '{lang}wcf.acp.devtools.project.packageIdentifier.error.minimumLength{/lang}',
-                       'wcf.acp.devtools.project.packageVersion.error.format': '{lang}wcf.acp.devtools.project.packageVersion.error.format{/lang}',
-                       'wcf.acp.devtools.project.packageVersion.error.maximumLength': '{lang}wcf.acp.devtools.project.packageVersion.error.maximumLength{/lang}',
-                       'wcf.acp.devtools.project.requiredPackage.requiredPackage': '{capture assign=__languageItem}{lang __literal=true}wcf.acp.devtools.project.requiredPackage.requiredPackage{/lang}{/capture}{@$__languageItem|encodeJS}'
+                       'wcf.acp.devtools.project.packageIdentifier.error.duplicate': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.duplicate{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.format': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.format{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.maximumLength': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.maximumLength{/jslang}',
+                       'wcf.acp.devtools.project.packageIdentifier.error.minimumLength': '{jslang}wcf.acp.devtools.project.packageIdentifier.error.minimumLength{/jslang}',
+                       'wcf.acp.devtools.project.packageVersion.error.format': '{jslang}wcf.acp.devtools.project.packageVersion.error.format{/jslang}',
+                       'wcf.acp.devtools.project.packageVersion.error.maximumLength': '{jslang}wcf.acp.devtools.project.packageVersion.error.maximumLength{/jslang}',
+                       'wcf.acp.devtools.project.requiredPackage.requiredPackage': '{jslang __literal=true}wcf.acp.devtools.project.requiredPackage.requiredPackage{/jslang}'
                });
                
                new RequiredPackagesFormField('{@$field->getPrefixedId()}', [
index 6ce59f485a920d906e8ccde184c8b6a368bb8d3b..a3ca75b729cf5359c43f1e36e46b9fa6ba0de937 100644 (file)
@@ -26,8 +26,8 @@
 <script data-relocate="true">
        require(['Dom/Util', 'Language', 'WoltLabSuite/Core/Form/Builder/Field/Controller/Label'], function(DomUtil, Language, FormBuilderFieldLabel) {
                Language.addObject({
-                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
-                       'wcf.label.withoutSelection': '{lang}wcf.label.withoutSelection{/lang}'
+                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
+                       'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
                });
                
                new FormBuilderFieldLabel(
index a5086f51f623182804096d611f49d211c71da275..14e9b3421adb4a1689c1602ee59e8b646bc77a84 100644 (file)
@@ -1,8 +1,8 @@
 <script data-relocate="true">
        require(['Language'], function(Language) {
                Language.addObject({
-                       'wcf.acp.pip.menu.boxVisibilityExceptions.hiddenEverywhere': '{lang}wcf.acp.pip.menu.boxVisibilityExceptions.hiddenEverywhere{/lang}',
-                       'wcf.acp.pip.menu.boxVisibilityExceptions.visibleEverywhere': '{lang}wcf.acp.pip.menu.boxVisibilityExceptions.visibleEverywhere{/lang}'
+                       'wcf.acp.pip.menu.boxVisibilityExceptions.hiddenEverywhere': '{jslang}wcf.acp.pip.menu.boxVisibilityExceptions.hiddenEverywhere{/jslang}',
+                       'wcf.acp.pip.menu.boxVisibilityExceptions.visibleEverywhere': '{jslang}wcf.acp.pip.menu.boxVisibilityExceptions.visibleEverywhere{/jslang}'
                });
                
                var boxVisibleEverywhere = elById('boxVisibleEverywhere');
index 45abd51bfe275b236ba30f274d9ceb816c908f95..e8c9c7b0da358c1050ef9509139adb93c7f78a48 100644 (file)
@@ -1,12 +1,12 @@
 WCF.Language.addObject({
-       'wcf.message.quote.insertAllQuotes': '{lang}wcf.message.quote.insertAllQuotes{/lang}',
-       'wcf.message.quote.insertSelectedQuotes': '{lang}wcf.message.quote.insertSelectedQuotes{/lang}',
-       'wcf.message.quote.manageQuotes': '{lang}wcf.message.quote.manageQuotes{/lang}',
-       'wcf.message.quote.quoteSelected': '{lang}wcf.message.quote.quoteSelected{/lang}',
-       'wcf.message.quote.quoteAndReply': '{lang}wcf.message.quote.quoteAndReply{/lang}',
-       'wcf.message.quote.removeAllQuotes': '{lang}wcf.message.quote.removeAllQuotes{/lang}',
-       'wcf.message.quote.removeSelectedQuotes': '{lang}wcf.message.quote.removeSelectedQuotes{/lang}',
-       'wcf.message.quote.showQuotes': '{lang __literal=true}wcf.message.quote.showQuotes{/lang}'
+       'wcf.message.quote.insertAllQuotes': '{jslang}wcf.message.quote.insertAllQuotes{/jslang}',
+       'wcf.message.quote.insertSelectedQuotes': '{jslang}wcf.message.quote.insertSelectedQuotes{/jslang}',
+       'wcf.message.quote.manageQuotes': '{jslang}wcf.message.quote.manageQuotes{/jslang}',
+       'wcf.message.quote.quoteSelected': '{jslang}wcf.message.quote.quoteSelected{/jslang}',
+       'wcf.message.quote.quoteAndReply': '{jslang}wcf.message.quote.quoteAndReply{/jslang}',
+       'wcf.message.quote.removeAllQuotes': '{jslang}wcf.message.quote.removeAllQuotes{/jslang}',
+       'wcf.message.quote.removeSelectedQuotes': '{jslang}wcf.message.quote.removeSelectedQuotes{/jslang}',
+       'wcf.message.quote.showQuotes': '{jslang __literal=true}wcf.message.quote.showQuotes{/jslang}'
 });
 
 {if !$wysiwygSelector|isset}{assign var=wysiwygSelector value=''}{/if}
index 81e6cdcc7d7ded7ffbc0fa638077c5cbcfca4ce4..c13cdd7bef5f13bec5ed0100501fa81d94b8baa4 100644 (file)
@@ -2,13 +2,13 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                        Language.addObject({
-                               'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                               'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                               'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                               'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                               'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                               'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                               'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                               'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                               'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                               'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                               'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                               'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                               'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                               'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                        });
                        
                        new UiItemListFilter('{@$field->getPrefixedId()}_list');
index 8630716113d7983d9ec2ffb5836ab8ab4269ca5b..672065ee66bb4f009558a90edf9bac3891b033d9 100644 (file)
@@ -1,9 +1,9 @@
 <script data-relocate="true">
        require(['Language'], function(Language) {
                Language.addObject({
-                       'wcf.form.field.className.description.interface': '{lang __literal=true}wcf.form.field.className.description.interface{/lang}',
+                       'wcf.form.field.className.description.interface': '{jslang __literal=true}wcf.form.field.className.description.interface{/jslang}',
                        {implode from=$definitionNames item=definitionName}
-                               'wcf.acp.pip.objectType.definitionName.{@$definitionName}.description': '{lang __literal=true __optional=true}wcf.acp.pip.objectType.definitionName.{@$definitionName}.description{/lang}'
+                               'wcf.acp.pip.objectType.definitionName.{@$definitionName}.description': '{jslang __literal=true __optional=true}wcf.acp.pip.objectType.definitionName.{@$definitionName}.description{/jslang}'
                        {/implode}
                });
                
@@ -31,4 +31,4 @@
                
                definitionID.addEventListener('change', update);
        });
-</script>
\ No newline at end of file
+</script>
index 6a22dc1a4a6cf582cd7d2bf43c1e4405981bf6d9..d591f5266a8dcc1832aecc39f24e5ca3aef6d362 100644 (file)
@@ -2,13 +2,13 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Option/EmailSmtpTest'], function (Language, AcpUiOptionEmailSmtpTest) {
                        Language.addObject({
-                               'wcf.acp.email.smtp.test': '{lang}wcf.acp.email.smtp.test{/lang}',
-                               'wcf.acp.email.smtp.test.description': '{lang}wcf.acp.email.smtp.test.description{/lang}',
-                               'wcf.acp.email.smtp.test.error.empty.host': '{lang}wcf.acp.email.smtp.test.error.empty.host{/lang}',
-                               'wcf.acp.email.smtp.test.error.empty.password': '{lang}wcf.acp.email.smtp.test.error.empty.password{/lang}',
-                               'wcf.acp.email.smtp.test.error.empty.user': '{lang}wcf.acp.email.smtp.test.error.empty.user{/lang}',
-                               'wcf.acp.email.smtp.test.run': '{lang}wcf.acp.email.smtp.test.run{/lang}',
-                               'wcf.acp.email.smtp.test.run.success': '{lang}wcf.acp.email.smtp.test.run.success{/lang}'
+                               'wcf.acp.email.smtp.test': '{jslang}wcf.acp.email.smtp.test{/jslang}',
+                               'wcf.acp.email.smtp.test.description': '{jslang}wcf.acp.email.smtp.test.description{/jslang}',
+                               'wcf.acp.email.smtp.test.error.empty.host': '{jslang}wcf.acp.email.smtp.test.error.empty.host{/jslang}',
+                               'wcf.acp.email.smtp.test.error.empty.password': '{jslang}wcf.acp.email.smtp.test.error.empty.password{/jslang}',
+                               'wcf.acp.email.smtp.test.error.empty.user': '{jslang}wcf.acp.email.smtp.test.error.empty.user{/jslang}',
+                               'wcf.acp.email.smtp.test.run': '{jslang}wcf.acp.email.smtp.test.run{/jslang}',
+                               'wcf.acp.email.smtp.test.run.success': '{jslang}wcf.acp.email.smtp.test.run.success{/jslang}'
                        });
                        
                        AcpUiOptionEmailSmtpTest.init();
index 2fc30b1bfda768a62d1334c4ebe0f75122c0fa45..7b0b73168d6526627994ad6bc20e58a93682f796 100644 (file)
@@ -2,9 +2,9 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Option/RewriteGenerator'], function (Language, AcpUiOptionRewriteGenerator) {
                        Language.addObject({
-                               'wcf.acp.rewrite': '{lang}wcf.acp.rewrite{/lang}',
-                               'wcf.acp.rewrite.description': '{lang}wcf.acp.rewrite.description{/lang}',
-                               'wcf.acp.rewrite.generate': '{lang}wcf.acp.rewrite.generate{/lang}'
+                               'wcf.acp.rewrite': '{jslang}wcf.acp.rewrite{/jslang}',
+                               'wcf.acp.rewrite.description': '{jslang}wcf.acp.rewrite.description{/jslang}',
+                               'wcf.acp.rewrite.generate': '{jslang}wcf.acp.rewrite.generate{/jslang}'
                        });
 
                        AcpUiOptionRewriteGenerator.init();
index b8ec64cd98dbe8ddb7ac2db83df2bd4be9d8b351..b34f5c6bd0829f397e7dae6b7fa0d87714c0f6fd 100644 (file)
@@ -26,9 +26,9 @@
        <script data-relocate="true">
                require(['Dictionary', 'Language', 'WoltLabSuite/Core/Acp/Ui/Option/RewriteTest'], function (Dictionary, Language, AcpUiOptionRewriteTest) {
                        Language.addObject({
-                               'wcf.acp.option.url_omit_index_php': '{lang}wcf.acp.option.url_omit_index_php{/lang}',
-                               'wcf.acp.option.url_omit_index_php.test.status.failure': '{lang}wcf.acp.option.url_omit_index_php.test.status.failure{/lang}',
-                               'wcf.acp.option.url_omit_index_php.test.status.success': '{lang}wcf.acp.option.url_omit_index_php.test.status.success{/lang}'
+                               'wcf.acp.option.url_omit_index_php': '{jslang}wcf.acp.option.url_omit_index_php{/jslang}',
+                               'wcf.acp.option.url_omit_index_php.test.status.failure': '{jslang}wcf.acp.option.url_omit_index_php.test.status.failure{/jslang}',
+                               'wcf.acp.option.url_omit_index_php.test.status.success': '{jslang}wcf.acp.option.url_omit_index_php.test.status.success{/jslang}'
                        });
                        
                        var apps = Dictionary.fromObject({
index 59ebbb5e73aac9de715393ad8ee5c1f9aae9b34c..bbcdea079bb16b872cc39cb816b7792b973ab278 100644 (file)
                        AcpUiCodeMirrorPage
                ) {
                        Language.addObject({
-                               'wcf.page.search': '{lang}wcf.page.search{/lang}',
-                               'wcf.page.search.error.tooShort': '{lang}wcf.page.search.error.tooShort{/lang}',
-                               'wcf.page.search.error.noResults': '{lang}wcf.page.search.error.noResults{/lang}',
-                               'wcf.page.search.name': '{lang}wcf.page.search.name{/lang}',
-                               'wcf.page.search.results': '{lang}wcf.page.search.results{/lang}',
+                               'wcf.page.search': '{jslang}wcf.page.search{/jslang}',
+                               'wcf.page.search.error.tooShort': '{jslang}wcf.page.search.error.tooShort{/jslang}',
+                               'wcf.page.search.error.noResults': '{jslang}wcf.page.search.error.noResults{/jslang}',
+                               'wcf.page.search.name': '{jslang}wcf.page.search.name{/jslang}',
+                               'wcf.page.search.results': '{jslang}wcf.page.search.results{/jslang}',
                        });
                        
                        new AcpUiCodeMirrorMedia('{@$__pageContentID}');
index 290b083de0d5b4649031a1d7044ab043e1ecacc5..e4df57bf6d61dbcfac39b96dd627cf991db8a63b 100644 (file)
@@ -3,9 +3,9 @@
 <script data-relocate="true">
        require(['Dom/Traverse', 'Dom/Util', 'Language', 'WoltLabSuite/Core/Ui/Poll/Editor'], function(DomTraverse, DomUtil, Language, UiPollEditor) {
                Language.addObject({
-                       'wcf.poll.button.addOption': '{lang}wcf.poll.button.addOption{/lang}',
-                       'wcf.poll.button.removeOption': '{lang}wcf.poll.button.removeOption{/lang}',
-                       'wcf.poll.maxVotes.error.invalid': '{lang}wcf.poll.maxVotes.error.invalid{/lang}'
+                       'wcf.poll.button.addOption': '{jslang}wcf.poll.button.addOption{/jslang}',
+                       'wcf.poll.button.removeOption': '{jslang}wcf.poll.button.removeOption{/jslang}',
+                       'wcf.poll.maxVotes.error.invalid': '{jslang}wcf.poll.maxVotes.error.invalid{/jslang}'
                });
                
                new UiPollEditor(
index c3209915a6fda7dc309a26d358e190210a375bd0..6c4f0aad706a182ef7aa5f98dc3bde5f5fa74ed5 100644 (file)
@@ -2,13 +2,13 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                        Language.addObject({
-                               'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                               'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                               'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                               'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                               'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                               'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                               'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                               'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                               'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                               'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                               'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                               'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                               'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                               'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                        });
                        
                        new UiItemListFilter('{@$field->getPrefixedId()}_list');
index c3c821a901ff27330ef9326348ba5986f4ba74f2..a23046b3b6938fd8a58434f9eba6d422fac4531b 100644 (file)
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.attachment.upload.error.invalidExtension': '{lang}wcf.attachment.upload.error.invalidExtension{/lang}',
-                       'wcf.attachment.upload.error.tooLarge': '{lang}wcf.attachment.upload.error.tooLarge{/lang}',
-                       'wcf.attachment.upload.error.reachedLimit': '{lang}wcf.attachment.upload.error.reachedLimit{/lang}',
-                       'wcf.attachment.upload.error.reachedRemainingLimit': '{lang}wcf.attachment.upload.error.reachedRemainingLimit{/lang}',
-                       'wcf.attachment.upload.error.uploadFailed': '{lang}wcf.attachment.upload.error.uploadFailed{/lang}',
-                       'wcf.attachment.upload.error.uploadPhpLimit': '{lang}wcf.attachment.upload.error.uploadPhpLimit{/lang}',
-                       'wcf.attachment.insert': '{lang}wcf.attachment.insert{/lang}',
-                       'wcf.attachment.insertAll': '{lang}wcf.attachment.insertAll{/lang}',
-                       'wcf.attachment.insertFull': '{lang}wcf.attachment.insertFull{/lang}',
-                       'wcf.attachment.insertThumbnail': '{lang}wcf.attachment.insertThumbnail{/lang}',
-                       'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}'
+                       'wcf.attachment.upload.error.invalidExtension': '{jslang}wcf.attachment.upload.error.invalidExtension{/jslang}',
+                       'wcf.attachment.upload.error.tooLarge': '{jslang}wcf.attachment.upload.error.tooLarge{/jslang}',
+                       'wcf.attachment.upload.error.reachedLimit': '{jslang}wcf.attachment.upload.error.reachedLimit{/jslang}',
+                       'wcf.attachment.upload.error.reachedRemainingLimit': '{jslang}wcf.attachment.upload.error.reachedRemainingLimit{/jslang}',
+                       'wcf.attachment.upload.error.uploadFailed': '{jslang}wcf.attachment.upload.error.uploadFailed{/jslang}',
+                       'wcf.attachment.upload.error.uploadPhpLimit': '{jslang}wcf.attachment.upload.error.uploadPhpLimit{/jslang}',
+                       'wcf.attachment.insert': '{jslang}wcf.attachment.insert{/jslang}',
+                       'wcf.attachment.insertAll': '{jslang}wcf.attachment.insertAll{/jslang}',
+                       'wcf.attachment.insertFull': '{jslang}wcf.attachment.insertFull{/jslang}',
+                       'wcf.attachment.insertThumbnail': '{jslang}wcf.attachment.insertThumbnail{/jslang}',
+                       'wcf.attachment.delete.sure': '{jslang}wcf.attachment.delete.sure{/jslang}'
                });
                
                new WCF.Attachment.Upload(
index 81f2deba4b30d10a424842d760faeb5b9bc17369..6fca00a9fdf0ce0dc600461b1d2cbb5fca00e304 100644 (file)
@@ -1,16 +1,16 @@
 <script data-relocate="true">
        require(['Language'], function (Language) {
                Language.addObject({
-                       'wcf.article.search': '{lang}wcf.article.search{/lang}',
-                       'wcf.article.search.error.tooShort': '{lang}wcf.article.search.error.tooShort{/lang}',
-                       'wcf.article.search.error.noResults': '{lang}wcf.article.search.error.noResults{/lang}',
-                       'wcf.article.search.name': '{lang}wcf.article.search.name{/lang}',
-                       'wcf.article.search.results': '{lang}wcf.article.search.results{/lang}',
-                       'wcf.page.search': '{lang}wcf.page.search{/lang}',
-                       'wcf.page.search.error.tooShort': '{lang}wcf.page.search.error.tooShort{/lang}',
-                       'wcf.page.search.error.noResults': '{lang}wcf.page.search.error.noResults{/lang}',
-                       'wcf.page.search.name': '{lang}wcf.page.search.name{/lang}',
-                       'wcf.page.search.results': '{lang}wcf.page.search.results{/lang}',
+                       'wcf.article.search': '{jslang}wcf.article.search{/jslang}',
+                       'wcf.article.search.error.tooShort': '{jslang}wcf.article.search.error.tooShort{/jslang}',
+                       'wcf.article.search.error.noResults': '{jslang}wcf.article.search.error.noResults{/jslang}',
+                       'wcf.article.search.name': '{jslang}wcf.article.search.name{/jslang}',
+                       'wcf.article.search.results': '{jslang}wcf.article.search.results{/jslang}',
+                       'wcf.page.search': '{jslang}wcf.page.search{/jslang}',
+                       'wcf.page.search.error.tooShort': '{jslang}wcf.page.search.error.tooShort{/jslang}',
+                       'wcf.page.search.error.noResults': '{jslang}wcf.page.search.error.noResults{/jslang}',
+                       'wcf.page.search.name': '{jslang}wcf.page.search.name{/jslang}',
+                       'wcf.page.search.results': '{jslang}wcf.page.search.results{/jslang}',
                });
        })
 </script>
index 6501f1538e653fa352041977842197e1fead799b..d61999dfcd6ce5d7fa1fbcacb9b242a91dcf9c77 100644 (file)
@@ -7,7 +7,7 @@
 <script data-relocate="true">
        require(['Language'], function(Language) {
                Language.addObject({
-                       'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
+                       'wcf.global.preview': '{jslang}wcf.global.preview{/jslang}'
                });
                
                new WCF.Message.DefaultPreview({
index 5f4986b0ba58b2ba9f86d81ab86fd665d75d2f0b..00f6601f2d1b4d78f75ebf00209f4f197a7ce78c 100644 (file)
@@ -2,11 +2,11 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acl.option.deny': '{lang}wcf.acl.option.deny{/lang}',
-                       'wcf.acl.option.fullAccess': '{lang}wcf.acl.option.fullAccess{/lang}',
-                       'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}',
-                       'wcf.acl.search.user.description': '{lang}wcf.acl.search.user.description{/lang}',
-                       'wcf.acl.search.description': '{lang}wcf.acl.search.description{/lang}',
+                       'wcf.acl.option.deny': '{jslang}wcf.acl.option.deny{/jslang}',
+                       'wcf.acl.option.fullAccess': '{jslang}wcf.acl.option.fullAccess{/jslang}',
+                       'wcf.acl.option.grant': '{jslang}wcf.acl.option.grant{/jslang}',
+                       'wcf.acl.search.user.description': '{jslang}wcf.acl.search.user.description{/jslang}',
+                       'wcf.acl.search.description': '{jslang}wcf.acl.search.description{/jslang}',
                });
        });
-</script>
\ No newline at end of file
+</script>
index e7bec299fb8558508855bf107571258752a4dd7d..962ee2d86b9235a00ce8fea638ce1b24eeb3c64e 100644 (file)
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Ui/User/Search/Input', 'WoltLabSuite/Core/Acp/Ui/Article/InlineEditor'], function(Language, UiUserSearchInput, AcpUiArticleInlineEditor) {
                Language.addObject({
-                       'wcf.acp.article.i18n.source': '{lang}wcf.acp.article.i18n.source{/lang}',
-                       'wcf.acp.article.i18n.toI18n.confirmMessage': '{lang}wcf.acp.article.i18n.toI18n.confirmMessage{/lang}',
-                       'wcf.acp.article.i18n.fromI18n.confirmMessage': '{lang}wcf.acp.article.i18n.fromI18n.confirmMessage{/lang}',
-                       'wcf.message.status.deleted': '{lang}wcf.message.status.deleted{/lang}',
+                       'wcf.acp.article.i18n.source': '{jslang}wcf.acp.article.i18n.source{/jslang}',
+                       'wcf.acp.article.i18n.toI18n.confirmMessage': '{jslang}wcf.acp.article.i18n.toI18n.confirmMessage{/jslang}',
+                       'wcf.acp.article.i18n.fromI18n.confirmMessage': '{jslang}wcf.acp.article.i18n.fromI18n.confirmMessage{/jslang}',
+                       'wcf.message.status.deleted': '{jslang}wcf.message.status.deleted{/jslang}',
                });
                
                new UiUserSearchInput(elBySel('input[name="username"]'));
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.label.none': '{lang}wcf.label.none{/lang}',
+                       'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
                });
                
                {if !$labelGroups|empty}
index 35cb520d5655e7b61bc9ce4311b2b382877dbcf1..a0a5fcf75291dbbf3d294e7c4aaa5411e6dd421e 100644 (file)
@@ -18,7 +18,7 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Article/Add'], function(Language, AcpUiArticleAdd) {
                Language.addObject({
-                       'wcf.acp.article.add': '{lang}wcf.acp.article.add{/lang}'
+                       'wcf.acp.article.add': '{jslang}wcf.acp.article.add{/jslang}'
                });
                
                AcpUiArticleAdd.init('{link controller='ArticleAdd' encode=false}{literal}isMultilingual={$isMultilingual}{/literal}{if $categoryID}&categoryID={@$categoryID}{/if}{/link}');
index aeb7a29d7e1e6f2f8b7c529780ccb2fdd81fe3e3..1ead92767f7e3193ca8143011ddcf0b853bd74df 100644 (file)
@@ -4,9 +4,9 @@
        require(['Language', 'WoltLabSuite/Core/Controller/Clipboard', 'WoltLabSuite/Core/Ui/User/Search/Input', 'WoltLabSuite/Core/Acp/Ui/Article/InlineEditor'],
                function(Language, ControllerClipboard, UiUserSearchInput, AcpUiArticleInlineEditor) {
                Language.addObject({
-                       'wcf.acp.article.publicationStatus.unpublished': '{lang}wcf.acp.article.publicationStatus.unpublished{/lang}',
-                       'wcf.acp.article.setCategory': '{lang}wcf.acp.article.setCategory{/lang}',
-                       'wcf.message.status.deleted': '{lang}wcf.message.status.deleted{/lang}'
+                       'wcf.acp.article.publicationStatus.unpublished': '{jslang}wcf.acp.article.publicationStatus.unpublished{/jslang}',
+                       'wcf.acp.article.setCategory': '{jslang}wcf.acp.article.setCategory{/jslang}',
+                       'wcf.message.status.deleted': '{jslang}wcf.message.status.deleted{/jslang}'
                });
                
                new UiUserSearchInput(elBySel('input[name="username"]'));
index 5efe640ed6c0d12392aff6eb347521831568cab0..ffbfafb3574fb9f8c2408d23dcb6b73217561820 100644 (file)
        
        require(['Dictionary', 'Language', 'WoltLabSuite/Core/Acp/Ui/Box/Handler'], function(Dictionary, Language, AcpUiBoxHandler) {
                Language.addObject({
-                       'wcf.page.pageObjectID': '{lang}wcf.page.pageObjectID{/lang}',
+                       'wcf.page.pageObjectID': '{jslang}wcf.page.pageObjectID{/jslang}',
                        {foreach from=$pageNodeList item=pageNode}
                                {capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.{@$pageNode->identifier}{/lang}{/capture}
                                {if $pageObjectIDLanguageItem}
-                                       'wcf.page.pageObjectID.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem}',
+                                       'wcf.page.pageObjectID.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}',
                                {/if}
                                {capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.search.{@$pageNode->identifier}{/lang}{/capture}
                                {if $pageObjectIDLanguageItem}
-                                       'wcf.page.pageObjectID.search.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem}',
+                                       'wcf.page.pageObjectID.search.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}',
                                {/if}
                        {/foreach}
-                       'wcf.page.pageObjectID.search.noResults': '{lang}wcf.page.pageObjectID.search.noResults{/lang}',
-                       'wcf.page.pageObjectID.search.results': '{lang}wcf.page.pageObjectID.search.results{/lang}',
-                       'wcf.page.pageObjectID.search.terms': '{lang}wcf.page.pageObjectID.search.terms{/lang}'
+                       'wcf.page.pageObjectID.search.noResults': '{jslang}wcf.page.pageObjectID.search.noResults{/jslang}',
+                       'wcf.page.pageObjectID.search.results': '{jslang}wcf.page.pageObjectID.search.results{/jslang}',
+                       'wcf.page.pageObjectID.search.terms': '{jslang}wcf.page.pageObjectID.search.terms{/jslang}'
                });
                
                var handlers = new Dictionary();
@@ -47,7 +47,7 @@
        {if $action === 'edit'}
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Box/Copy'], function (Language, AcpUiBoxCopy) {
                        Language.addObject({
-                               'wcf.acp.box.copy': '{lang}wcf.acp.box.copy{/lang}'
+                               'wcf.acp.box.copy': '{jslang}wcf.acp.box.copy{/jslang}'
                        });
                        
                        AcpUiBoxCopy.init();
index d7d22ea9bca4211241e29a98971bf3da837bc381..679f71fd062e26102fbee6e4c8bb30011078c935 100644 (file)
@@ -34,7 +34,7 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Box/Add'], function(Language, AcpUiBoxAdd) {
                Language.addObject({
-                       'wcf.acp.box.add': '{lang}wcf.acp.box.add{/lang}'
+                       'wcf.acp.box.add': '{jslang}wcf.acp.box.add{/jslang}'
                });
                
                AcpUiBoxAdd.init('{link controller='BoxAdd' encode=false}{literal}boxType={$boxType}&isMultilingual={$isMultilingual}{/literal}{/link}', {@$availableLanguages|count});
index b6f8ae9e6348d525b9cc95d0600f1d580008dec1..9d3852c637f02ece6588283d33bb6667b8ee30ce 100644 (file)
@@ -3,8 +3,8 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.cronjob.log.clear.confirm': '{lang}wcf.acp.cronjob.log.clear.confirm{/lang}',
-                       'wcf.acp.cronjob.log.error.details': '{lang}wcf.acp.cronjob.log.error.details{/lang}'
+                       'wcf.acp.cronjob.log.clear.confirm': '{jslang}wcf.acp.cronjob.log.clear.confirm{/jslang}',
+                       'wcf.acp.cronjob.log.error.details': '{jslang}wcf.acp.cronjob.log.error.details{/jslang}'
                });
                
                new WCF.ACP.Cronjob.LogList();
index 048f49a55ea0e34fca55919dc4a93d7f262bb984..b77a057becd4ce002b6f0c7380e26765abd60271 100644 (file)
@@ -4,9 +4,9 @@
        $(function() {
                {if $queue|isset}
                        WCF.Language.addObject({
-                               'wcf.acp.dataImport': '{lang}wcf.acp.dataImport{/lang}',
-                               'wcf.acp.dataImport.completed': '{lang}wcf.acp.dataImport.completed{/lang}',
-                               {implode from=$importers item=importer}'wcf.acp.dataImport.data.{@$importer}': '{lang}wcf.acp.dataImport.data.{@$importer}{/lang}'{/implode}
+                               'wcf.acp.dataImport': '{jslang}wcf.acp.dataImport{/jslang}',
+                               'wcf.acp.dataImport.completed': '{jslang}wcf.acp.dataImport.completed{/jslang}',
+                               {implode from=$importers item=importer}'wcf.acp.dataImport.data.{@$importer}': '{jslang}wcf.acp.dataImport.data.{@$importer}{/jslang}'{/implode}
                        });
                        
                        var $queues = [ {implode from=$queue item=item}'{@$item}'{/implode} ];
index 09acf84468888a774683097e6947f725de173dc2..d35fccfceffee2d7f8086449b7a61894585fa296 100644 (file)
@@ -32,7 +32,7 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Devtools/Notification/Test'], function(Language, AcpUiDevtoolsNotificationTest) {
                Language.addObject({
-                       'wcf.acp.devtools.notificationTest.button.test': '{lang}wcf.acp.devtools.notificationTest.button.test{/lang}'
+                       'wcf.acp.devtools.notificationTest.button.test': '{jslang}wcf.acp.devtools.notificationTest.button.test{/jslang}'
                });
                
                AcpUiDevtoolsNotificationTest.init();
index 7e4ed668d593035ceaaae6b52d9c1022fa26a0e7..0cecbc0ed584c455a43cce28f8e3588a11df4979 100644 (file)
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Devtools/Project/Pip/Entry/List'], function(Language, DevtoolsProjectPipEntryList) {
                Language.addObject({
-                       'wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction': '{lang}wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction{/lang}',
-                       'wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction.description': '{lang}wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction.description{/lang}',
-                       'wcf.acp.devtools.project.pip.entry.delete.confirmMessage': '{lang}wcf.acp.devtools.project.pip.entry.delete.confirmMessage{/lang}'
+                       'wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction': '{jslang}wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction{/jslang}',
+                       'wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction.description': '{jslang}wcf.acp.devtools.project.pip.entry.delete.addDeleteInstruction.description{/jslang}',
+                       'wcf.acp.devtools.project.pip.entry.delete.confirmMessage': '{jslang}wcf.acp.devtools.project.pip.entry.delete.confirmMessage{/jslang}'
                });
                
                new DevtoolsProjectPipEntryList('devtoolsProjectPipEntryList', '{@$project->projectID}', '{@$pip}', '{@$entryType}', {if $pipObject->getPip()->supportsDeleteInstruction()}true{else}false{/if});
index 1b4650888dc4f6011b138a56e9e72b40edafeff5..72d8e604041a919dc37b2732dd191d1442f4c80e 100644 (file)
@@ -81,8 +81,8 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Devtools/Project/Sync'], function(Language, AcpUiDevtoolsProjectSync) {
                        Language.addObject({
-                               'wcf.acp.devtools.sync.status.failure': '{lang}wcf.acp.devtools.sync.status.failure{/lang}',
-                               'wcf.acp.devtools.sync.syncAll': '{lang}wcf.acp.devtools.sync.syncAll{/lang}'
+                               'wcf.acp.devtools.sync.status.failure': '{jslang}wcf.acp.devtools.sync.status.failure{/jslang}',
+                               'wcf.acp.devtools.sync.syncAll': '{jslang}wcf.acp.devtools.sync.syncAll{/jslang}'
                        });
                        
                        AcpUiDevtoolsProjectSync.init({$object->projectID});
index 7bc89c3680d4b8fb088bc12dd9effea4b3d8d10a..f7088beb4ad5c7826a8992f5ee4bb6473a2654f7 100644 (file)
@@ -1,10 +1,10 @@
 <script>
        require(['Language', 'WoltLabSuite/Core/Ui/Style/FontAwesome'], function (Language, UiStyleFontAwesome) {
                Language.addObject({
-                       'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                       'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                       'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                       'wcf.global.fontAwesome.selectIcon': '{lang}wcf.global.fontAwesome.selectIcon{/lang}'
+                       'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                       'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                       'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                       'wcf.global.fontAwesome.selectIcon': '{jslang}wcf.global.fontAwesome.selectIcon{/jslang}'
                });
                
                UiStyleFontAwesome.setup({@$__wcf->getStyleHandler()->getIcons(true)});
index e8d515dd2994008da59ebc5a08e9142e81ad101d..2d8c3ded6fbe0d1ccbcfc4bbd42a2b3db3ee14cd 100644 (file)
@@ -4,7 +4,7 @@
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="robots" content="noindex">
-       <title>{if $pageTitle|isset}{@$pageTitle|language} - {/if}{lang}wcf.global.acp{/lang}{if PACKAGE_ID} - {PAGE_TITLE|language}{/if}</title>
+       <title>{if $pageTitle|isset}{@$pageTitle|language} - {/if}{jslang}wcf.global.acp{/jslang}{if PACKAGE_ID} - {PAGE_TITLE|language}{/if}</title>
        
        {* work-around for Microsoft Edge that sometimes does not apply this style, if it was set via an external stylesheet *}
        <style>ol, ul { list-style: none; }</style>
        <script>
                require(['Language', 'WoltLabSuite/Core/Acp/Bootstrap', 'User'], function(Language, AcpBootstrap, User) {
                        Language.addObject({
-                               '__days': [ '{lang}wcf.date.day.sunday{/lang}', '{lang}wcf.date.day.monday{/lang}', '{lang}wcf.date.day.tuesday{/lang}', '{lang}wcf.date.day.wednesday{/lang}', '{lang}wcf.date.day.thursday{/lang}', '{lang}wcf.date.day.friday{/lang}', '{lang}wcf.date.day.saturday{/lang}' ],
-                               '__daysShort': [ '{lang}wcf.date.day.sun{/lang}', '{lang}wcf.date.day.mon{/lang}', '{lang}wcf.date.day.tue{/lang}', '{lang}wcf.date.day.wed{/lang}', '{lang}wcf.date.day.thu{/lang}', '{lang}wcf.date.day.fri{/lang}', '{lang}wcf.date.day.sat{/lang}' ],
-                               '__months': [ '{lang}wcf.date.month.january{/lang}', '{lang}wcf.date.month.february{/lang}', '{lang}wcf.date.month.march{/lang}', '{lang}wcf.date.month.april{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.june{/lang}', '{lang}wcf.date.month.july{/lang}', '{lang}wcf.date.month.august{/lang}', '{lang}wcf.date.month.september{/lang}', '{lang}wcf.date.month.october{/lang}', '{lang}wcf.date.month.november{/lang}', '{lang}wcf.date.month.december{/lang}' ], 
-                               '__monthsShort': [ '{lang}wcf.date.month.short.jan{/lang}', '{lang}wcf.date.month.short.feb{/lang}', '{lang}wcf.date.month.short.mar{/lang}', '{lang}wcf.date.month.short.apr{/lang}', '{lang}wcf.date.month.short.may{/lang}', '{lang}wcf.date.month.short.jun{/lang}', '{lang}wcf.date.month.short.jul{/lang}', '{lang}wcf.date.month.short.aug{/lang}', '{lang}wcf.date.month.short.sep{/lang}', '{lang}wcf.date.month.short.oct{/lang}', '{lang}wcf.date.month.short.nov{/lang}', '{lang}wcf.date.month.short.dec{/lang}' ],
-                               'wcf.acp.search.noResults': '{lang}wcf.acp.search.noResults{/lang}',
-                               'wcf.clipboard.item.unmarkAll': '{lang}wcf.clipboard.item.unmarkAll{/lang}',
-                               'wcf.clipboard.item.markAll': '{lang}wcf.clipboard.item.markAll{/lang}',
-                               'wcf.clipboard.item.mark': '{lang}wcf.clipboard.item.mark{/lang}',
-                               'wcf.date.relative.now': '{lang __literal=true}wcf.date.relative.now{/lang}',
-                               'wcf.date.relative.minutes': '{capture assign=relativeMinutes}{lang __literal=true}wcf.date.relative.minutes{/lang}{/capture}{@$relativeMinutes|encodeJS}',
-                               'wcf.date.relative.hours': '{capture assign=relativeHours}{lang __literal=true}wcf.date.relative.hours{/lang}{/capture}{@$relativeHours|encodeJS}',
-                               'wcf.date.relative.pastDays': '{capture assign=relativePastDays}{lang __literal=true}wcf.date.relative.pastDays{/lang}{/capture}{@$relativePastDays|encodeJS}',
+                               '__days': [ '{jslang}wcf.date.day.sunday{/jslang}', '{jslang}wcf.date.day.monday{/jslang}', '{jslang}wcf.date.day.tuesday{/jslang}', '{jslang}wcf.date.day.wednesday{/jslang}', '{jslang}wcf.date.day.thursday{/jslang}', '{jslang}wcf.date.day.friday{/jslang}', '{jslang}wcf.date.day.saturday{/jslang}' ],
+                               '__daysShort': [ '{jslang}wcf.date.day.sun{/jslang}', '{jslang}wcf.date.day.mon{/jslang}', '{jslang}wcf.date.day.tue{/jslang}', '{jslang}wcf.date.day.wed{/jslang}', '{jslang}wcf.date.day.thu{/jslang}', '{jslang}wcf.date.day.fri{/jslang}', '{jslang}wcf.date.day.sat{/jslang}' ],
+                               '__months': [ '{jslang}wcf.date.month.january{/jslang}', '{jslang}wcf.date.month.february{/jslang}', '{jslang}wcf.date.month.march{/jslang}', '{jslang}wcf.date.month.april{/jslang}', '{jslang}wcf.date.month.may{/jslang}', '{jslang}wcf.date.month.june{/jslang}', '{jslang}wcf.date.month.july{/jslang}', '{jslang}wcf.date.month.august{/jslang}', '{jslang}wcf.date.month.september{/jslang}', '{jslang}wcf.date.month.october{/jslang}', '{jslang}wcf.date.month.november{/jslang}', '{jslang}wcf.date.month.december{/jslang}' ], 
+                               '__monthsShort': [ '{jslang}wcf.date.month.short.jan{/jslang}', '{jslang}wcf.date.month.short.feb{/jslang}', '{jslang}wcf.date.month.short.mar{/jslang}', '{jslang}wcf.date.month.short.apr{/jslang}', '{jslang}wcf.date.month.short.may{/jslang}', '{jslang}wcf.date.month.short.jun{/jslang}', '{jslang}wcf.date.month.short.jul{/jslang}', '{jslang}wcf.date.month.short.aug{/jslang}', '{jslang}wcf.date.month.short.sep{/jslang}', '{jslang}wcf.date.month.short.oct{/jslang}', '{jslang}wcf.date.month.short.nov{/jslang}', '{jslang}wcf.date.month.short.dec{/jslang}' ],
+                               'wcf.acp.search.noResults': '{jslang}wcf.acp.search.noResults{/jslang}',
+                               'wcf.clipboard.item.unmarkAll': '{jslang}wcf.clipboard.item.unmarkAll{/jslang}',
+                               'wcf.clipboard.item.markAll': '{jslang}wcf.clipboard.item.markAll{/jslang}',
+                               'wcf.clipboard.item.mark': '{jslang}wcf.clipboard.item.mark{/jslang}',
+                               'wcf.date.relative.now': '{jslang __literal=true}wcf.date.relative.now{/jslang}',
+                               'wcf.date.relative.minutes': '{jslang __literal=true}wcf.date.relative.minutes{/jslang}',
+                               'wcf.date.relative.hours': '{jslang __literal=true}wcf.date.relative.hours{/jslang}',
+                               'wcf.date.relative.pastDays': '{jslang __literal=true}wcf.date.relative.pastDays{/jslang}',
                                'wcf.date.dateFormat': '{"wcf.date.dateFormat"|language|encodeJS}',
-                               'wcf.date.dateTimeFormat': '{lang}wcf.date.dateTimeFormat{/lang}',
-                               'wcf.date.shortDateTimeFormat': '{lang}wcf.date.shortDateTimeFormat{/lang}',
-                               'wcf.date.hour': '{lang}wcf.date.hour{/lang}',
-                               'wcf.date.minute': '{lang}wcf.date.minute{/lang}',
-                               'wcf.date.timeFormat': '{lang}wcf.date.timeFormat{/lang}',
-                               'wcf.date.firstDayOfTheWeek': '{lang}wcf.date.firstDayOfTheWeek{/lang}',
-                               'wcf.global.button.add': '{lang}wcf.global.button.add{/lang}',
-                               'wcf.global.button.cancel': '{lang}wcf.global.button.cancel{/lang}',
-                               'wcf.global.button.close': '{lang}wcf.global.button.close{/lang}',
-                               'wcf.global.button.collapsible': '{lang}wcf.global.button.collapsible{/lang}',
-                               'wcf.global.button.delete': '{lang}wcf.global.button.delete{/lang}',
-                               'wcf.global.button.disable': '{lang}wcf.global.button.disable{/lang}',
-                               'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}',
-                               'wcf.global.button.edit': '{lang}wcf.global.button.edit{/lang}',
-                               'wcf.global.button.enable': '{lang}wcf.global.button.enable{/lang}',
-                               'wcf.global.button.hide': '{lang}wcf.global.button.hide{/lang}',
-                               'wcf.global.button.insert': '{lang}wcf.global.button.insert{/lang}',
-                               'wcf.global.button.next': '{lang}wcf.global.button.next{/lang}',
-                               'wcf.global.button.preview': '{lang}wcf.global.button.preview{/lang}',
-                               'wcf.global.button.reset': '{lang}wcf.global.button.reset{/lang}',
-                               'wcf.global.button.save': '{lang}wcf.global.button.save{/lang}',
-                               'wcf.global.button.search': '{lang}wcf.global.button.search{/lang}',
-                               'wcf.global.button.submit': '{lang}wcf.global.button.submit{/lang}',
-                               'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}',
-                               'wcf.global.confirmation.cancel': '{lang}wcf.global.confirmation.cancel{/lang}',
-                               'wcf.global.confirmation.confirm': '{lang}wcf.global.confirmation.confirm{/lang}',
-                               'wcf.global.confirmation.title': '{lang}wcf.global.confirmation.title{/lang}',
-                               'wcf.global.decimalPoint': '{capture assign=decimalPoint}{lang}wcf.global.decimalPoint{/lang}{/capture}{$decimalPoint|encodeJS}',
-                               'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
-                               'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}',
-                               'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
-                               'wcf.global.form.error.greaterThan': '{lang __literal=true}wcf.global.form.error.greaterThan{/lang}',
-                               'wcf.global.form.error.lessThan': '{lang __literal=true}wcf.global.form.error.lessThan{/lang}',
-                               'wcf.global.form.error.multilingual': '{lang}wcf.global.form.error.multilingual{/lang}',
-                               'wcf.global.form.input.maxItems': '{lang}wcf.global.form.input.maxItems{/lang}',
-                               'wcf.global.language.noSelection': '{lang}wcf.global.language.noSelection{/lang}',
-                               'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
-                               'wcf.global.noSelection': '{lang}wcf.global.noSelection{/lang}',
-                               'wcf.global.select': '{lang}wcf.global.select{/lang}',
-                               'wcf.page.jumpTo': '{lang}wcf.page.jumpTo{/lang}',
-                               'wcf.page.jumpTo.description': '{lang}wcf.page.jumpTo.description{/lang}',
-                               'wcf.global.page.pagination': '{lang}wcf.global.page.pagination{/lang}',
-                               'wcf.global.page.next': '{capture assign=pageNext}{lang}wcf.global.page.next{/lang}{/capture}{@$pageNext|encodeJS}',
-                               'wcf.global.page.previous': '{capture assign=pagePrevious}{lang}wcf.global.page.previous{/lang}{/capture}{@$pagePrevious|encodeJS}',
-                               'wcf.global.pageDirection': '{lang}wcf.global.pageDirection{/lang}',
-                               'wcf.global.reason': '{lang}wcf.global.reason{/lang}',
-                               'wcf.global.scrollUp': '{lang}wcf.global.scrollUp{/lang}',
-                               'wcf.global.success': '{lang}wcf.global.success{/lang}',
-                               'wcf.global.success.add': '{lang}wcf.global.success.add{/lang}',
-                               'wcf.global.success.edit': '{lang}wcf.global.success.edit{/lang}',
-                               'wcf.global.thousandsSeparator': '{capture assign=thousandsSeparator}{lang}wcf.global.thousandsSeparator{/lang}{/capture}{@$thousandsSeparator|encodeJS}',
-                               'wcf.page.pagePosition': '{lang __literal=true}wcf.page.pagePosition{/lang}',
-                               'wcf.menu.page': '{lang}wcf.menu.page{/lang}',
-                               'wcf.menu.user': '{lang}wcf.menu.user{/lang}',
-                               'wcf.date.datePicker': '{lang}wcf.date.datePicker{/lang}',
-                               'wcf.date.datePicker.previousMonth': '{lang}wcf.date.datePicker.previousMonth{/lang}',
-                               'wcf.date.datePicker.nextMonth': '{lang}wcf.date.datePicker.nextMonth{/lang}',
-                               'wcf.date.datePicker.month': '{lang}wcf.date.datePicker.month{/lang}',
-                               'wcf.date.datePicker.year': '{lang}wcf.date.datePicker.year{/lang}',
-                               'wcf.date.datePicker.hour': '{lang}wcf.date.datePicker.hour{/lang}',
-                               'wcf.date.datePicker.minute': '{lang}wcf.date.datePicker.minute{/lang}'
+                               'wcf.date.dateTimeFormat': '{jslang}wcf.date.dateTimeFormat{/jslang}',
+                               'wcf.date.shortDateTimeFormat': '{jslang}wcf.date.shortDateTimeFormat{/jslang}',
+                               'wcf.date.hour': '{jslang}wcf.date.hour{/jslang}',
+                               'wcf.date.minute': '{jslang}wcf.date.minute{/jslang}',
+                               'wcf.date.timeFormat': '{jslang}wcf.date.timeFormat{/jslang}',
+                               'wcf.date.firstDayOfTheWeek': '{jslang}wcf.date.firstDayOfTheWeek{/jslang}',
+                               'wcf.global.button.add': '{jslang}wcf.global.button.add{/jslang}',
+                               'wcf.global.button.cancel': '{jslang}wcf.global.button.cancel{/jslang}',
+                               'wcf.global.button.close': '{jslang}wcf.global.button.close{/jslang}',
+                               'wcf.global.button.collapsible': '{jslang}wcf.global.button.collapsible{/jslang}',
+                               'wcf.global.button.delete': '{jslang}wcf.global.button.delete{/jslang}',
+                               'wcf.global.button.disable': '{jslang}wcf.global.button.disable{/jslang}',
+                               'wcf.global.button.disabledI18n': '{jslang}wcf.global.button.disabledI18n{/jslang}',
+                               'wcf.global.button.edit': '{jslang}wcf.global.button.edit{/jslang}',
+                               'wcf.global.button.enable': '{jslang}wcf.global.button.enable{/jslang}',
+                               'wcf.global.button.hide': '{jslang}wcf.global.button.hide{/jslang}',
+                               'wcf.global.button.insert': '{jslang}wcf.global.button.insert{/jslang}',
+                               'wcf.global.button.next': '{jslang}wcf.global.button.next{/jslang}',
+                               'wcf.global.button.preview': '{jslang}wcf.global.button.preview{/jslang}',
+                               'wcf.global.button.reset': '{jslang}wcf.global.button.reset{/jslang}',
+                               'wcf.global.button.save': '{jslang}wcf.global.button.save{/jslang}',
+                               'wcf.global.button.search': '{jslang}wcf.global.button.search{/jslang}',
+                               'wcf.global.button.submit': '{jslang}wcf.global.button.submit{/jslang}',
+                               'wcf.global.button.upload': '{jslang}wcf.global.button.upload{/jslang}',
+                               'wcf.global.confirmation.cancel': '{jslang}wcf.global.confirmation.cancel{/jslang}',
+                               'wcf.global.confirmation.confirm': '{jslang}wcf.global.confirmation.confirm{/jslang}',
+                               'wcf.global.confirmation.title': '{jslang}wcf.global.confirmation.title{/jslang}',
+                               'wcf.global.decimalPoint': '{jslang}wcf.global.decimalPoint{/jslang}',
+                               'wcf.global.error.timeout': '{jslang}wcf.global.error.timeout{/jslang}',
+                               'wcf.global.error.title': '{jslang}wcf.global.error.title{/jslang}',
+                               'wcf.global.form.error.empty': '{jslang}wcf.global.form.error.empty{/jslang}',
+                               'wcf.global.form.error.greaterThan': '{jslang __literal=true}wcf.global.form.error.greaterThan{/jslang}',
+                               'wcf.global.form.error.lessThan': '{jslang __literal=true}wcf.global.form.error.lessThan{/jslang}',
+                               'wcf.global.form.error.multilingual': '{jslang}wcf.global.form.error.multilingual{/jslang}',
+                               'wcf.global.form.input.maxItems': '{jslang}wcf.global.form.input.maxItems{/jslang}',
+                               'wcf.global.language.noSelection': '{jslang}wcf.global.language.noSelection{/jslang}',
+                               'wcf.global.loading': '{jslang}wcf.global.loading{/jslang}',
+                               'wcf.global.noSelection': '{jslang}wcf.global.noSelection{/jslang}',
+                               'wcf.global.select': '{jslang}wcf.global.select{/jslang}',
+                               'wcf.page.jumpTo': '{jslang}wcf.page.jumpTo{/jslang}',
+                               'wcf.page.jumpTo.description': '{jslang}wcf.page.jumpTo.description{/jslang}',
+                               'wcf.global.page.pagination': '{jslang}wcf.global.page.pagination{/jslang}',
+                               'wcf.global.page.next': '{jslang}wcf.global.page.next{/jslang}',
+                               'wcf.global.page.previous': '{jslang}wcf.global.page.previous{/jslang}',
+                               'wcf.global.pageDirection': '{jslang}wcf.global.pageDirection{/jslang}',
+                               'wcf.global.reason': '{jslang}wcf.global.reason{/jslang}',
+                               'wcf.global.scrollUp': '{jslang}wcf.global.scrollUp{/jslang}',
+                               'wcf.global.success': '{jslang}wcf.global.success{/jslang}',
+                               'wcf.global.success.add': '{jslang}wcf.global.success.add{/jslang}',
+                               'wcf.global.success.edit': '{jslang}wcf.global.success.edit{/jslang}',
+                               'wcf.global.thousandsSeparator': '{jslang}wcf.global.thousandsSeparator{/jslang}',
+                               'wcf.page.pagePosition': '{jslang __literal=true}wcf.page.pagePosition{/jslang}',
+                               'wcf.menu.page': '{jslang}wcf.menu.page{/jslang}',
+                               'wcf.menu.user': '{jslang}wcf.menu.user{/jslang}',
+                               'wcf.date.datePicker': '{jslang}wcf.date.datePicker{/jslang}',
+                               'wcf.date.datePicker.previousMonth': '{jslang}wcf.date.datePicker.previousMonth{/jslang}',
+                               'wcf.date.datePicker.nextMonth': '{jslang}wcf.date.datePicker.nextMonth{/jslang}',
+                               'wcf.date.datePicker.month': '{jslang}wcf.date.datePicker.month{/jslang}',
+                               'wcf.date.datePicker.year': '{jslang}wcf.date.datePicker.year{/jslang}',
+                               'wcf.date.datePicker.hour': '{jslang}wcf.date.datePicker.hour{/jslang}',
+                               'wcf.date.datePicker.minute': '{jslang}wcf.date.datePicker.minute{/jslang}'
                                {event name='javascriptLanguageImport'}
                        });
                        
index d49e18a9a178b7d8771a9b3bc8754bfa3dd6887e..7845bf54eb57cc1f6e631f91bab8abe87c13c128 100644 (file)
@@ -3,14 +3,14 @@
                var $imageViewer = null;
                $(function() {
                        WCF.Language.addObject({
-                               'wcf.imageViewer.button.enlarge': '{lang}wcf.imageViewer.button.enlarge{/lang}',
-                               'wcf.imageViewer.button.full': '{lang}wcf.imageViewer.button.full{/lang}',
-                               'wcf.imageViewer.seriesIndex': '{lang __literal=true}wcf.imageViewer.seriesIndex{/lang}',
-                               'wcf.imageViewer.counter': '{lang}wcf.imageViewer.counter{/lang}',
-                               'wcf.imageViewer.close': '{lang}wcf.imageViewer.close{/lang}',
-                               'wcf.imageViewer.enlarge': '{lang}wcf.imageViewer.enlarge{/lang}',
-                               'wcf.imageViewer.next': '{lang}wcf.imageViewer.next{/lang}',
-                               'wcf.imageViewer.previous': '{lang}wcf.imageViewer.previous{/lang}'
+                               'wcf.imageViewer.button.enlarge': '{jslang}wcf.imageViewer.button.enlarge{/jslang}',
+                               'wcf.imageViewer.button.full': '{jslang}wcf.imageViewer.button.full{/jslang}',
+                               'wcf.imageViewer.seriesIndex': '{jslang __literal=true}wcf.imageViewer.seriesIndex{/jslang}',
+                               'wcf.imageViewer.counter': '{jslang}wcf.imageViewer.counter{/jslang}',
+                               'wcf.imageViewer.close': '{jslang}wcf.imageViewer.close{/jslang}',
+                               'wcf.imageViewer.enlarge': '{jslang}wcf.imageViewer.enlarge{/jslang}',
+                               'wcf.imageViewer.next': '{jslang}wcf.imageViewer.next{/jslang}',
+                               'wcf.imageViewer.previous': '{jslang}wcf.imageViewer.previous{/jslang}'
                        });
                        
                        $imageViewer = new WCF.ImageViewer();
@@ -28,4 +28,4 @@
        </script>
        
        {assign var=__imageViewerLoaded value=true}
-{/if}
\ No newline at end of file
+{/if}
index f2da135f2dbacaa1cb393e822f4b505a919428c0..f037ff91531934372ca3b51e43f8aa42dc9cd058 100644 (file)
@@ -3,7 +3,7 @@
 <script data-relocate="true" src="{@$__wcf->getPath()}acp/js/WCF.ACP.Language.js?v={@LAST_UPDATE_TIME}"></script>
 <script data-relocate="true">
        $(function() {
-               WCF.Language.add('wcf.acp.language.item.delete.confirmMessage', '{lang}wcf.acp.language.item.delete.confirmMessage{/lang}');
+               WCF.Language.add('wcf.acp.language.item.delete.confirmMessage', '{jslang}wcf.acp.language.item.delete.confirmMessage{/jslang}');
                
                new WCF.ACP.Language.ItemList();
        });
index 609991a1bfa679e13ceb0c414fb6441e227e5fed..b9016db0778247eafaa6b19b9c61a67c869d782e 100644 (file)
@@ -1,28 +1,28 @@
 {if $__wcf->session->getPermission('admin.content.cms.canUseMedia')}
        require(['Language', 'Permission'], function(Language, Permission) {
                Language.addObject({
-                       'wcf.global.button.insert': '{lang}wcf.global.button.insert{/lang}',
-                       'wcf.media.button.replaceFile': '{lang}wcf.media.button.replaceFile{/lang}',
-                       'wcf.media.button.select': '{lang}wcf.media.button.select{/lang}',
-                       'wcf.media.delete.confirmMessage': '{lang __encode=true __literal=true}wcf.media.delete.confirmMessage{/lang}',
-                       'wcf.media.imageDimensions.value': '{lang __literal=true}wcf.media.imageDimensions.value{/lang}',
-                       'wcf.media.insert': '{lang}wcf.media.insert{/lang}',
-                       'wcf.media.insert.imageSize': '{lang}wcf.media.insert.imageSize{/lang}',
-                       'wcf.media.insert.imageSize.small': '{lang}wcf.media.insert.imageSize.small{/lang}',
-                       'wcf.media.insert.imageSize.medium': '{lang}wcf.media.insert.imageSize.medium{/lang}',
-                       'wcf.media.insert.imageSize.large': '{lang}wcf.media.insert.imageSize.large{/lang}',
-                       'wcf.media.insert.imageSize.original': '{lang}wcf.media.insert.imageSize.original{/lang}',
-                       'wcf.media.manager': '{lang}wcf.media.manager{/lang}',
-                       'wcf.media.edit': '{lang}wcf.media.edit{/lang}',
-                       'wcf.media.button.insert': '{lang}wcf.media.button.insert{/lang}',
-                       'wcf.media.search.info.searchStringThreshold': '{lang __literal=true}wcf.media.search.info.searchStringThreshold{/lang}',
-                       'wcf.media.search.noResults': '{lang}wcf.media.search.noResults{/lang}',
-                       'wcf.media.upload.error.differentFileExtension': '{lang}wcf.media.upload.error.differentFileExtension{/lang}',
-                       'wcf.media.upload.error.differentFileType': '{lang}wcf.media.upload.error.differentFileType{/lang}',
-                       'wcf.media.upload.error.noImage': '{lang}wcf.media.upload.error.noImage{/lang}',
-                       'wcf.media.upload.error.uploadFailed': '{lang}wcf.media.upload.error.uploadFailed{/lang}',
-                       'wcf.media.upload.success': '{lang}wcf.media.upload.success{/lang}',
-                       'wcf.media.setCategory': '{lang}wcf.media.setCategory{/lang}'
+                       'wcf.global.button.insert': '{jslang}wcf.global.button.insert{/jslang}',
+                       'wcf.media.button.replaceFile': '{jslang}wcf.media.button.replaceFile{/jslang}',
+                       'wcf.media.button.select': '{jslang}wcf.media.button.select{/jslang}',
+                       'wcf.media.delete.confirmMessage': '{jslang __encode=true __literal=true}wcf.media.delete.confirmMessage{/jslang}',
+                       'wcf.media.imageDimensions.value': '{jslang __literal=true}wcf.media.imageDimensions.value{/jslang}',
+                       'wcf.media.insert': '{jslang}wcf.media.insert{/jslang}',
+                       'wcf.media.insert.imageSize': '{jslang}wcf.media.insert.imageSize{/jslang}',
+                       'wcf.media.insert.imageSize.small': '{jslang}wcf.media.insert.imageSize.small{/jslang}',
+                       'wcf.media.insert.imageSize.medium': '{jslang}wcf.media.insert.imageSize.medium{/jslang}',
+                       'wcf.media.insert.imageSize.large': '{jslang}wcf.media.insert.imageSize.large{/jslang}',
+                       'wcf.media.insert.imageSize.original': '{jslang}wcf.media.insert.imageSize.original{/jslang}',
+                       'wcf.media.manager': '{jslang}wcf.media.manager{/jslang}',
+                       'wcf.media.edit': '{jslang}wcf.media.edit{/jslang}',
+                       'wcf.media.button.insert': '{jslang}wcf.media.button.insert{/jslang}',
+                       'wcf.media.search.info.searchStringThreshold': '{jslang __literal=true}wcf.media.search.info.searchStringThreshold{/jslang}',
+                       'wcf.media.search.noResults': '{jslang}wcf.media.search.noResults{/jslang}',
+                       'wcf.media.upload.error.differentFileExtension': '{jslang}wcf.media.upload.error.differentFileExtension{/jslang}',
+                       'wcf.media.upload.error.differentFileType': '{jslang}wcf.media.upload.error.differentFileType{/jslang}',
+                       'wcf.media.upload.error.noImage': '{jslang}wcf.media.upload.error.noImage{/jslang}',
+                       'wcf.media.upload.error.uploadFailed': '{jslang}wcf.media.upload.error.uploadFailed{/jslang}',
+                       'wcf.media.upload.success': '{jslang}wcf.media.upload.success{/jslang}',
+                       'wcf.media.setCategory': '{jslang}wcf.media.setCategory{/jslang}'
                });
                
                Permission.add('admin.content.cms.canManageMedia', {if $__wcf->session->getPermission('admin.content.cms.canManageMedia')}true{else}false{/if});
index c9ac52018d6c18c255ea17407d6f20006d5f9649..cda3c98fa70ad2d3ae8596df8e4268d86fd1f1af 100644 (file)
@@ -5,8 +5,8 @@
        
        require(['Language', 'WoltLabSuite/Core/Controller/Media/List'], function (Language, ControllerMediaList) {
                Language.addObject({
-                       'wcf.media.delete.confirmMessage': '{lang __literal=true}wcf.media.delete.confirmMessage{/lang}',
-                       'wcf.media.setCategory': '{lang}wcf.media.setCategory{/lang}'
+                       'wcf.media.delete.confirmMessage': '{jslang __literal=true}wcf.media.delete.confirmMessage{/jslang}',
+                       'wcf.media.setCategory': '{jslang}wcf.media.setCategory{/jslang}'
                });
                
                ControllerMediaList.init({
index 958bad162e4083dfbaed7106ac43ffc0806e9a0a..ca38dc46c8a50940491888d36d519d014729e4d9 100644 (file)
@@ -3,20 +3,20 @@
 <script data-relocate="true">
        require(['Dictionary', 'Language', 'WoltLabSuite/Core/Acp/Ui/Menu/Item/Handler'], function(Dictionary, Language, AcpUiMenuItemHandler) {
                Language.addObject({
-                       'wcf.page.pageObjectID': '{lang}wcf.page.pageObjectID{/lang}',
+                       'wcf.page.pageObjectID': '{jslang}wcf.page.pageObjectID{/jslang}',
                        {foreach from=$pageNodeList item=pageNode}
                                {capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.{@$pageNode->identifier}{/lang}{/capture}
                                {if $pageObjectIDLanguageItem}
-                                       'wcf.page.pageObjectID.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem}',
+                                       'wcf.page.pageObjectID.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}',
                                {/if}
                                {capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.search.{@$pageNode->identifier}{/lang}{/capture}
                                {if $pageObjectIDLanguageItem}
-                                       'wcf.page.pageObjectID.search.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem}',
+                                       'wcf.page.pageObjectID.search.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}',
                                {/if}
                        {/foreach}
-                       'wcf.page.pageObjectID.search.noResults': '{lang}wcf.page.pageObjectID.search.noResults{/lang}',
-                       'wcf.page.pageObjectID.search.results': '{lang}wcf.page.pageObjectID.search.results{/lang}',
-                       'wcf.page.pageObjectID.search.terms': '{lang}wcf.page.pageObjectID.search.terms{/lang}'
+                       'wcf.page.pageObjectID.search.noResults': '{jslang}wcf.page.pageObjectID.search.noResults{/jslang}',
+                       'wcf.page.pageObjectID.search.results': '{jslang}wcf.page.pageObjectID.search.results{/jslang}',
+                       'wcf.page.pageObjectID.search.terms': '{jslang}wcf.page.pageObjectID.search.terms{/jslang}'
                });
                
                var handlers = new Dictionary();
index 2570fd2dd5943c18d3f9cbec2fd36b2cf717034d..875d3f0106aee835cae49fe09ab4065b989fbb65 100644 (file)
@@ -2,7 +2,7 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Language/Input', 'WoltLabSuite/Core/Language/Text'], function(Language, LanguageInput, LanguageText) {
                        Language.addObject({
-                               'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}'
+                               'wcf.global.button.disabledI18n': '{jslang}wcf.global.button.disabledI18n{/jslang}'
                        });
                        
                        var availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
index 433922d6b323e7a5b574c6657ab2ad45dc0ba9a4..baff58e084c43bdfe09397a235822642d5c0cd21 100644 (file)
@@ -3,9 +3,9 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Controller/User/Notification/Settings'], function(Language, ControllerUserNotificationSettings) {
                Language.addObject({
-                       'wcf.user.notification.mailNotificationType.daily': '{lang}wcf.user.notification.mailNotificationType.daily{/lang}',
-                       'wcf.user.notification.mailNotificationType.instant': '{lang}wcf.user.notification.mailNotificationType.instant{/lang}',
-                       'wcf.user.notification.mailNotificationType.none': '{lang}wcf.user.notification.mailNotificationType.none{/lang}'
+                       'wcf.user.notification.mailNotificationType.daily': '{jslang}wcf.user.notification.mailNotificationType.daily{/jslang}',
+                       'wcf.user.notification.mailNotificationType.instant': '{jslang}wcf.user.notification.mailNotificationType.instant{/jslang}',
+                       'wcf.user.notification.mailNotificationType.none': '{jslang}wcf.user.notification.mailNotificationType.none{/jslang}'
                });
                
                ControllerUserNotificationSettings.setup();
index 2c2155fb9d06e476ca5116c7c5cf18a7bbdf4d13..be9dc6b9e0b36267a07af787c52862c24307d557 100644 (file)
@@ -3,7 +3,7 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.package.uninstallation.title': '{lang}wcf.acp.package.uninstallation.title{/lang}'
+                       'wcf.acp.package.uninstallation.title': '{jslang}wcf.acp.package.uninstallation.title{/jslang}'
                });
                
                new WCF.ACP.Package.Uninstallation($('.jsUninstallButton'), {if PACKAGE_ID > 1}'{link controller='PackageList' forceWCF=true encode=false}packageID={literal}{packageID}{/literal}{/link}'{else}null{/if});
index 7965260a9a5486b7f927bb4df0e8734729b35d54..738edee4dd8b784bedcf13d8f33ebbb1b3ece3d6 100644 (file)
@@ -4,10 +4,10 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.package.install.title': '{lang}wcf.acp.package.install.title{/lang}',
-                       'wcf.acp.package.installation.rollback': '{lang}wcf.acp.package.installation.rollback{/lang}',
-                       'wcf.acp.package.uninstallation.title': '{lang}wcf.acp.package.uninstallation.title{/lang}',
-                       'wcf.acp.package.update.title': '{lang}wcf.acp.package.update.title{/lang}'
+                       'wcf.acp.package.install.title': '{jslang}wcf.acp.package.install.title{/jslang}',
+                       'wcf.acp.package.installation.rollback': '{jslang}wcf.acp.package.installation.rollback{/jslang}',
+                       'wcf.acp.package.uninstallation.title': '{jslang}wcf.acp.package.uninstallation.title{/jslang}',
+                       'wcf.acp.package.update.title': '{jslang}wcf.acp.package.update.title{/jslang}'
                });
                
                new WCF.ACP.Package.Installation({@$queue->queueID}, undefined, {if $queue->action == 'install'}{if $queue->isApplication}false{else}true{/if}, false{else}false, true{/if});
index 43d0fae82804bb9839547fff36beb2059933db78..78433d5cf7c86797d2d343b9448d7a51068bf799 100644 (file)
@@ -8,7 +8,7 @@
 </style>
 <script data-relocate="true">
        $(function() {
-               WCF.Language.add('wcf.acp.package.install.title', '{lang}wcf.acp.package.install.title{/lang}');
+               WCF.Language.add('wcf.acp.package.install.title', '{jslang}wcf.acp.package.install.title{/jslang}');
                
                var $installation = new WCF.ACP.Package.Installation({@$queueID});
                $installation.prepareInstallation();
index f6b2e5c4285e021fd7092a6d013b046c2db6b2dc..29a593c17515dc95e8cc1bf257ef1b39b1f18993 100644 (file)
@@ -3,13 +3,13 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.package.searchForUpdates': '{lang}wcf.acp.package.searchForUpdates{/lang}',
-                       'wcf.acp.package.searchForUpdates.noResults': '{lang}wcf.acp.package.searchForUpdates.noResults{/lang}',
-                       'wcf.acp.package.uninstallation.title': '{lang}wcf.acp.package.uninstallation.title{/lang}',
-                       'wcf.acp.pluginStore.authorization': '{lang}wcf.acp.pluginStore.authorization{/lang}',
-                       'wcf.acp.pluginStore.purchasedItems': '{lang}wcf.acp.pluginStore.purchasedItems{/lang}',
-                       'wcf.acp.pluginStore.purchasedItems.button.search': '{lang}wcf.acp.pluginStore.purchasedItems.button.search{/lang}',
-                       'wcf.acp.pluginStore.purchasedItems.noResults': '{lang}wcf.acp.pluginStore.purchasedItems.noResults{/lang}'
+                       'wcf.acp.package.searchForUpdates': '{jslang}wcf.acp.package.searchForUpdates{/jslang}',
+                       'wcf.acp.package.searchForUpdates.noResults': '{jslang}wcf.acp.package.searchForUpdates.noResults{/jslang}',
+                       'wcf.acp.package.uninstallation.title': '{jslang}wcf.acp.package.uninstallation.title{/jslang}',
+                       'wcf.acp.pluginStore.authorization': '{jslang}wcf.acp.pluginStore.authorization{/jslang}',
+                       'wcf.acp.pluginStore.purchasedItems': '{jslang}wcf.acp.pluginStore.purchasedItems{/jslang}',
+                       'wcf.acp.pluginStore.purchasedItems.button.search': '{jslang}wcf.acp.pluginStore.purchasedItems.button.search{/jslang}',
+                       'wcf.acp.pluginStore.purchasedItems.noResults': '{jslang}wcf.acp.pluginStore.purchasedItems.noResults{/jslang}'
                });
                
                {if $__wcf->session->getPermission('admin.configuration.package.canUninstallPackage')}
index b98f34f2d37b8e764984972f6ec9503a1b9ac9b9..7d00a8247a71ff81a063f1e6c4b0cff11b002efc 100644 (file)
@@ -8,8 +8,8 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Package/Search'], function(Language, AcpUiPackageSearch) {
                Language.addObject({
-                       'wcf.acp.package.install.title': '{lang}wcf.acp.package.install.title{/lang}',
-                       'wcf.acp.package.update.unauthorized': '{lang}wcf.acp.package.update.unauthorized{/lang}'
+                       'wcf.acp.package.install.title': '{jslang}wcf.acp.package.install.title{/jslang}',
+                       'wcf.acp.package.update.unauthorized': '{jslang}wcf.acp.package.update.unauthorized{/jslang}'
                });
                
                new AcpUiPackageSearch();
index b9887464aa83f71aa501f9fc891665af2c15bf15..df5532a95387a1048b44ecffa4335692bb1f3ffb 100644 (file)
@@ -3,9 +3,9 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.package.update.excludedPackages': '{lang}wcf.acp.package.update.excludedPackages{/lang}',
-                       'wcf.acp.package.update.title': '{lang}wcf.acp.package.update.title{/lang}',
-                       'wcf.acp.package.update.unauthorized': '{lang}wcf.acp.package.update.unauthorized{/lang}'
+                       'wcf.acp.package.update.excludedPackages': '{jslang}wcf.acp.package.update.excludedPackages{/jslang}',
+                       'wcf.acp.package.update.title': '{jslang}wcf.acp.package.update.title{/jslang}',
+                       'wcf.acp.package.update.unauthorized': '{jslang}wcf.acp.package.update.unauthorized{/jslang}'
                })
                
                new WCF.ACP.Package.Update.Manager();
index c2ad50176e507647fc7cec6a798c698268fb2385..1b654e345debdb58cc9df4bfa8ea70a198610f08 100644 (file)
@@ -54,7 +54,7 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Page/Copy'], function (Language, AcpUiPageCopy) {
                        Language.addObject({
-                               'wcf.acp.page.copy': '{lang}wcf.acp.page.copy{/lang}'
+                               'wcf.acp.page.copy': '{jslang}wcf.acp.page.copy{/jslang}'
                        });
                        
                        AcpUiPageCopy.init();
                                                <script data-relocate="true">
                                                        require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                                                                Language.addObject({
-                                                                       'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                                                                       'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                                                                       'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                                                                       'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                                                                       'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                                                                       'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                                                                       'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                                                                       'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                                                                       'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                                                                       'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                                                                       'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                                                                       'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                                                                       'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                                                                       'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                                                                });
                                                                
                                                                new UiItemListFilter('boxVisibilitySettings');
index a437a9dbb03b5ac22d030bf00348c59ba8b48a0e..07abf24d391873095454d775fe0ebc441e775975 100644 (file)
@@ -32,7 +32,7 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Page/Add'], function(Language, AcpUiPageAdd) {
                Language.addObject({
-                       'wcf.acp.page.add': '{lang}wcf.acp.page.add{/lang}'
+                       'wcf.acp.page.add': '{jslang}wcf.acp.page.add{/jslang}'
                });
                
                AcpUiPageAdd.init('{link controller='PageAdd' encode=false}{literal}pageType={$pageType}&isMultilingual={$isMultilingual}{/literal}{/link}', {@$availableLanguages|count});
index e223de7cd418246b969769058a13bc6a0e7f2b0b..39e74ffd6e85d9f118fdbbd1b07ea3afea48a409 100644 (file)
 <script data-relocate="true">
        require(['Dictionary', 'Language', 'WoltLabSuite/Core/Acp/Ui/Page/BoxOrder'], function (Dictionary, Language, AcpUiPageBoxOrder) {
                Language.addObject({
-                       'wcf.acp.box.isDisabled': '{lang}wcf.acp.box.isDisabled{/lang}',
-                       'wcf.acp.page.boxOrder.discard.confirmMessage': '{lang}wcf.acp.page.boxOrder.discard.confirmMessage{/lang}'
+                       'wcf.acp.box.isDisabled': '{jslang}wcf.acp.box.isDisabled{/jslang}',
+                       'wcf.acp.page.boxOrder.discard.confirmMessage': '{jslang}wcf.acp.page.boxOrder.discard.confirmMessage{/jslang}'
                });
                
                var boxes = new Dictionary();
index cda6026a2aca646868facef262513c97a0318eee..71d1811113ad28e03bba616f5af80307cf5a2862 100644 (file)
@@ -3,10 +3,10 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.package.install.title': '{lang}wcf.acp.package.install.title{/lang}',
-                       'wcf.acp.package.searchForUpdates': '{lang}wcf.acp.package.searchForUpdates{/lang}',
-                       'wcf.acp.package.searchForUpdates.noResults': '{lang}wcf.acp.package.searchForUpdates.noResults{/lang}',
-                       'wcf.acp.package.update.unauthorized': '{lang}wcf.acp.package.update.unauthorized{/lang}'
+                       'wcf.acp.package.install.title': '{jslang}wcf.acp.package.install.title{/jslang}',
+                       'wcf.acp.package.searchForUpdates': '{jslang}wcf.acp.package.searchForUpdates{/jslang}',
+                       'wcf.acp.package.searchForUpdates.noResults': '{jslang}wcf.acp.package.searchForUpdates.noResults{/jslang}',
+                       'wcf.acp.package.update.unauthorized': '{jslang}wcf.acp.package.update.unauthorized{/jslang}'
                });
                
                var $installer = new WCF.ACP.Package.Server.Installation();
index 18a6e86269b90f4d44cff7cefb2585a31054a310..d248dab4116383b487b73eb415a8a3034343a67c 100644 (file)
@@ -1,13 +1,13 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Ui/ItemList/Filter'], function(Language, UiItemListFilter) {
                Language.addObject({
-                       'wcf.global.filter.button.visibility': '{lang}wcf.global.filter.button.visibility{/lang}',
-                       'wcf.global.filter.button.clear': '{lang}wcf.global.filter.button.clear{/lang}',
-                       'wcf.global.filter.error.noMatches': '{lang}wcf.global.filter.error.noMatches{/lang}',
-                       'wcf.global.filter.placeholder': '{lang}wcf.global.filter.placeholder{/lang}',
-                       'wcf.global.filter.visibility.activeOnly': '{lang}wcf.global.filter.visibility.activeOnly{/lang}',
-                       'wcf.global.filter.visibility.highlightActive': '{lang}wcf.global.filter.visibility.highlightActive{/lang}',
-                       'wcf.global.filter.visibility.showAll': '{lang}wcf.global.filter.visibility.showAll{/lang}'
+                       'wcf.global.filter.button.visibility': '{jslang}wcf.global.filter.button.visibility{/jslang}',
+                       'wcf.global.filter.button.clear': '{jslang}wcf.global.filter.button.clear{/jslang}',
+                       'wcf.global.filter.error.noMatches': '{jslang}wcf.global.filter.error.noMatches{/jslang}',
+                       'wcf.global.filter.placeholder': '{jslang}wcf.global.filter.placeholder{/jslang}',
+                       'wcf.global.filter.visibility.activeOnly': '{jslang}wcf.global.filter.visibility.activeOnly{/jslang}',
+                       'wcf.global.filter.visibility.highlightActive': '{jslang}wcf.global.filter.visibility.highlightActive{/jslang}',
+                       'wcf.global.filter.visibility.showAll': '{jslang}wcf.global.filter.visibility.showAll{/jslang}'
                });
                
                new UiItemListFilter('{@$pageCheckboxListContainerID}');
index 94b2488570a29f5d09897644da1cbc67bab5b944..ba01ac7b72b70282c555ed0ef5c571e9f2c17d3c 100644 (file)
@@ -6,11 +6,11 @@
 <script data-relocate="true">
        $(function() {
                WCF.Language.addObject({
-                       'wcf.acp.stat.timeFormat.daily': '{lang}wcf.acp.stat.timeFormat.daily{/lang}',
-                       'wcf.acp.stat.timeFormat.weekly': '{lang}wcf.acp.stat.timeFormat.weekly{/lang}',
-                       'wcf.acp.stat.timeFormat.monthly': '{lang}wcf.acp.stat.timeFormat.monthly{/lang}',
-                       'wcf.acp.stat.timeFormat.yearly': '{lang}wcf.acp.stat.timeFormat.yearly{/lang}',
-                       'wcf.acp.stat.noData': '{lang}wcf.acp.stat.noData{/lang}'
+                       'wcf.acp.stat.timeFormat.daily': '{jslang}wcf.acp.stat.timeFormat.daily{/jslang}',
+                       'wcf.acp.stat.timeFormat.weekly': '{jslang}wcf.acp.stat.timeFormat.weekly{/jslang}',
+                       'wcf.acp.stat.timeFormat.monthly': '{jslang}wcf.acp.stat.timeFormat.monthly{/jslang}',
+                       'wcf.acp.stat.timeFormat.yearly': '{jslang}wcf.acp.stat.timeFormat.yearly{/jslang}',
+                       'wcf.acp.stat.noData': '{jslang}wcf.acp.stat.noData{/jslang}'
                });
                
                new WCF.ACP.Stat.Chart();
index 94ef30885dd5df25d58b5d54aff29389a253d552..2b4e6d52d95fc72458866eaaba4740103b3f55d3 100644 (file)
                new WCF.ColorPicker('.jsColorPicker');
                
                WCF.Language.addObject({
-                       'wcf.style.colorPicker': '{lang}wcf.style.colorPicker{/lang}',
-                       'wcf.style.colorPicker.new': '{lang}wcf.style.colorPicker.new{/lang}',
-                       'wcf.style.colorPicker.current': '{lang}wcf.style.colorPicker.current{/lang}',
-                       'wcf.style.colorPicker.button.apply': '{lang}wcf.style.colorPicker.button.apply{/lang}',
-                       'wcf.acp.style.image.error.invalidExtension': '{lang}wcf.acp.style.image.error.invalidExtension{/lang}'
+                       'wcf.style.colorPicker': '{jslang}wcf.style.colorPicker{/jslang}',
+                       'wcf.style.colorPicker.new': '{jslang}wcf.style.colorPicker.new{/jslang}',
+                       'wcf.style.colorPicker.current': '{jslang}wcf.style.colorPicker.current{/jslang}',
+                       'wcf.style.colorPicker.button.apply': '{jslang}wcf.style.colorPicker.button.apply{/jslang}',
+                       'wcf.acp.style.image.error.invalidExtension': '{jslang}wcf.acp.style.image.error.invalidExtension{/jslang}'
                });
                
                {if $action == 'edit'}
                        new WCF.ACP.Style.CopyStyle({@$style->styleID});
                        
                        WCF.Language.addObject({
-                               'wcf.acp.style.copyStyle.confirmMessage': '{@"wcf.acp.style.copyStyle.confirmMessage"|language|encodeJS}'
+                               'wcf.acp.style.copyStyle.confirmMessage': '{jslang}wcf.acp.style.copyStyle.confirmMessage{/jslang}'
                        });
                {/if}
                
index d0cfc210686ef8d97c0526a698e79fa5c592c3f7..29a6f07203ae3875ff9e434a6247e113ed6a5398 100644 (file)
@@ -4,12 +4,12 @@
        <script data-relocate="true">
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/Template/Group/Copy'], function (Language, AcpUiTemplateGroupCopy) {
                        Language.addObject({
-                               'wcf.acp.template.group.copy': '{lang}wcf.acp.template.group.copy{/lang}',
-                               'wcf.acp.template.group.name.error.notUnique': '{lang}wcf.acp.template.group.name.error.notUnique{/lang}',
-                               'wcf.acp.template.group.folderName': '{lang}wcf.acp.template.group.folderName{/lang}',
-                               'wcf.acp.template.group.folderName.error.invalid': '{lang}wcf.acp.template.group.folderName.error.invalid{/lang}',
-                               'wcf.acp.template.group.folderName.error.notUnique': '{lang}wcf.acp.template.group.folderName.error.notUnique{/lang}',
-                               'wcf.global.name': '{lang}wcf.global.name{/lang}'
+                               'wcf.acp.template.group.copy': '{jslang}wcf.acp.template.group.copy{/jslang}',
+                               'wcf.acp.template.group.name.error.notUnique': '{jslang}wcf.acp.template.group.name.error.notUnique{/jslang}',
+                               'wcf.acp.template.group.folderName': '{jslang}wcf.acp.template.group.folderName{/jslang}',
+                               'wcf.acp.template.group.folderName.error.invalid': '{jslang}wcf.acp.template.group.folderName.error.invalid{/jslang}',
+                               'wcf.acp.template.group.folderName.error.notUnique': '{jslang}wcf.acp.template.group.folderName.error.notUnique{/jslang}',
+                               'wcf.global.name': '{jslang}wcf.global.name{/jslang}'
                        });
                        
                        AcpUiTemplateGroupCopy.init({$templateGroupID});
index c25f94ad8587c640cd7e76008953e6e6f1c169dd..1c636c05630a843d344bea2d82d62508e6147198 100644 (file)
@@ -6,15 +6,15 @@
 <script data-relocate="true">
        require(['Language', 'WoltLabSuite/Core/Acp/Ui/Trophy/Badge'], function (Language, BadgeHandler) {
                Language.addObject({
-                       'wcf.style.colorPicker': '{lang}wcf.style.colorPicker{/lang}',
-                       'wcf.style.colorPicker.new': '{lang}wcf.style.colorPicker.new{/lang}',
-                       'wcf.style.colorPicker.current': '{lang}wcf.style.colorPicker.current{/lang}',
-                       'wcf.style.colorPicker.button.apply': '{lang}wcf.style.colorPicker.button.apply{/lang}',
-                       'wcf.acp.style.image.error.invalidExtension': '{lang}wcf.acp.style.image.error.invalidExtension{/lang}',
-                       'wcf.acp.trophy.badge.edit': '{lang}wcf.acp.trophy.badge.edit{/lang}',
-                       'wcf.acp.trophy.imageUpload.error.notSquared': '{lang}wcf.acp.trophy.imageUpload.error.notSquared{/lang}',
-                       'wcf.acp.trophy.imageUpload.error.tooSmall': '{lang}wcf.acp.trophy.imageUpload.error.tooSmall{/lang}',
-                       'wcf.acp.trophy.imageUpload.error.noImage': '{lang}wcf.acp.trophy.imageUpload.error.noImage{/lang}'
+                       'wcf.style.colorPicker': '{jslang}wcf.style.colorPicker{/jslang}',
+                       'wcf.style.colorPicker.new': '{jslang}wcf.style.colorPicker.new{/jslang}',
+                       'wcf.style.colorPicker.current': '{jslang}wcf.style.colorPicker.current{/jslang}',
+                       'wcf.style.colorPicker.button.apply': '{jslang}wcf.style.colorPicker.button.apply{/jslang}',
+                       'wcf.acp.style.image.error.invalidExtension': '{jslang}wcf.acp.style.image.error.invalidExtension{/jslang}',
+                       'wcf.acp.trophy.badge.edit': '{jslang}wcf.acp.trophy.badge.edit{/jslang}',
+                       'wcf.acp.trophy.imageUpload.error.notSquared': '{jslang}wcf.acp.trophy.imageUpload.error.notSquared{/jslang}',
+                       'wcf.acp.trophy.imageUpload.error.tooSmall': '{jslang}wcf.acp.trophy.imageUpload.error.tooSmall{/jslang}',
+                       'wcf.acp.trophy.imageUpload.error.noImage': '{jslang}wcf.acp.trophy.imageUpload.error.noImage{/jslang}'
                });
                
                elBySel('select[name=type]').addEventListener('change', function () {
index bd736ee225c81fc6908c3f46e985be0b84987674..795d6c5a16c8f81fa50b013d2c3a9148d578254e 100644 (file)
@@ -35,8 +35,8 @@
 <script data-relocate="true">
        require(['WoltLabSuite/Core/Ui/File/Upload', 'Language'], function(Upload, Language) {
                Language.addObject({
-                       'wcf.upload.error.reachedRemainingLimit': '{lang __literal=true}wcf.upload.error.reachedRemainingLimit{/lang}',
-                       'wcf.upload.error.noImage': '{lang}wcf.upload.error.noImage{/lang}'
+                       'wcf.upload.error.reachedRemainingLimit': '{jslang __literal=true}wcf.upload.error.reachedRemainingLimit{/jslang}',
+                       'wcf.upload.error.noImage': '{jslang}wcf.upload.error.noImage{/jslang}'
                });
                
                new Upload("{$uploadFieldId}UploadButtonDiv", "{$uploadFieldId}uploadFileList", {
index ede9b08d0b81c1f3805c33a9f7594f11f6081d99..80d662fa3777cae96e4bf8b4baff47592db4d9c1 100644 (file)
@@ -2,7 +2,7 @@
 
 <script data-relocate="true">
        $(function() {
-               WCF.Language.add('wcf.acp.worker.abort.confirmMessage', '{lang}wcf.acp.worker.abort.confirmMessage{/lang}');
+               WCF.Language.add('wcf.acp.worker.abort.confirmMessage', '{jslang}wcf.acp.worker.abort.confirmMessage{/jslang}');
                
                $('#updateEvents').click(function () {
                        new WCF.ACP.Worker('events', 'wcf\\system\\worker\\UserActivityPointUpdateEventsWorker', '{lang}wcf.acp.user.activityPoint.updateEvents{/lang}');
@@ -54,4 +54,4 @@
        </div>
 </form>
 
-{include file='footer'}
\ No newline at end of file
+{include file='footer'}
index 83763a71de4101eff1c6ccb6c4ee8da760f667f3..a638a231563906a26ab11c9ec0d14cf42fb77190 100644 (file)
                                <script data-relocate="true">
                                        $(function() {
                                                WCF.Language.addObject({
-                                                       'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
-                                                       'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
-                                                       'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
-                                                       'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
-                                                       'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
-                                                       'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}'
+                                                       'wcf.user.avatar.upload.error.invalidExtension': '{jslang}wcf.user.avatar.upload.error.invalidExtension{/jslang}',
+                                                       'wcf.user.avatar.upload.error.tooSmall': '{jslang}wcf.user.avatar.upload.error.tooSmall{/jslang}',
+                                                       'wcf.user.avatar.upload.error.tooLarge': '{jslang}wcf.user.avatar.upload.error.tooLarge{/jslang}',
+                                                       'wcf.user.avatar.upload.error.uploadFailed': '{jslang}wcf.user.avatar.upload.error.uploadFailed{/jslang}',
+                                                       'wcf.user.avatar.upload.error.badImage': '{jslang}wcf.user.avatar.upload.error.badImage{/jslang}',
+                                                       'wcf.user.avatar.upload.success': '{jslang}wcf.user.avatar.upload.success{/jslang}'
                                                });
                                                
                                                new WCF.User.Avatar.Upload({@$user->userID});
index a98b842c001e40934bf80afafebd079254f243db..f2f535d85f7d6fd01e97775ae27d439e41f23c1c 100644 (file)
@@ -6,13 +6,13 @@
                
                {if $action == 'edit' && $group->canCopy()}
                        WCF.Language.addObject({
-                               'wcf.acp.group.copy.confirmMessage': '{lang}wcf.acp.group.copy.confirmMessage{/lang}',
-                               'wcf.acp.group.copy.copyACLOptions': '{lang}wcf.acp.group.copy.copyACLOptions{/lang}',
-                               'wcf.acp.group.copy.copyACLOptions.description': '{lang}wcf.acp.group.copy.copyACLOptions.description{/lang}',
-                               'wcf.acp.group.copy.copyMembers': '{lang}wcf.acp.group.copy.copyMembers{/lang}',
-                               'wcf.acp.group.copy.copyMembers.description': '{lang}wcf.acp.group.copy.copyMembers.description{/lang}',
-                               'wcf.acp.group.copy.copyUserGroupOptions': '{lang}wcf.acp.group.copy.copyUserGroupOptions{/lang}',
-                               'wcf.acp.group.copy.copyUserGroupOptions.description': '{lang}wcf.acp.group.copy.copyUserGroupOptions.description{/lang}'
+                               'wcf.acp.group.copy.confirmMessage': '{jslang}wcf.acp.group.copy.confirmMessage{/jslang}',
+                               'wcf.acp.group.copy.copyACLOptions': '{jslang}wcf.acp.group.copy.copyACLOptions{/jslang}',
+                               'wcf.acp.group.copy.copyACLOptions.description': '{jslang}wcf.acp.group.copy.copyACLOptions.description{/jslang}',
+                               'wcf.acp.group.copy.copyMembers': '{jslang}wcf.acp.group.copy.copyMembers{/jslang}',
+                               'wcf.acp.group.copy.copyMembers.description': '{jslang}wcf.acp.group.copy.copyMembers.description{/jslang}',
+                               'wcf.acp.group.copy.copyUserGroupOptions': '{jslang}wcf.acp.group.copy.copyUserGroupOptions{/jslang}',
+                               'wcf.acp.group.copy.copyUserGroupOptions.description': '{jslang}wcf.acp.group.copy.copyUserGroupOptions.description{/jslang}'
                        });
                        
                        new WCF.ACP.User.Group.Copy({@$groupID});
index cba7cf322eaacbf84e68cabab298aed8f05431ae..c9836f053c8529a5dc2d22885fd967e0078a1918 100644 (file)
                new WCF.Table.EmptyTableHandler($('#userTableContainer'), 'jsUserRow', options);
                
                WCF.Language.addObject({
-                       'wcf.acp.user.banReason': '{lang}wcf.acp.user.banReason{/lang}',
-                       'wcf.acp.user.banReason.description': '{lang}wcf.acp.user.banReason.description{/lang}',
-                       'wcf.acp.user.ban.sure': '{lang}wcf.acp.user.ban.sure{/lang}',
-                       'wcf.acp.user.ban.expires': '{lang}wcf.acp.user.ban.expires{/lang}',
-                       'wcf.acp.user.ban.expires.description': '{lang}wcf.acp.user.ban.expires.description{/lang}',
-                       'wcf.acp.user.ban.neverExpires': '{lang}wcf.acp.user.ban.neverExpires{/lang}',
-                       'wcf.acp.user.sendNewPassword.workerTitle': '{lang}wcf.acp.user.sendNewPassword.workerTitle{/lang}',
-                       'wcf.acp.worker.abort.confirmMessage': '{lang}wcf.acp.worker.abort.confirmMessage{/lang}',
-                       'wcf.acp.content.removeContent': '{lang}wcf.acp.content.removeContent{/lang}',
-                       'wcf.user.status.banned': '{lang}wcf.user.status.banned{/lang}',
-                       'wcf.user.status.isDisabled': '{lang}wcf.user.status.isDisabled{/lang}'
+                       'wcf.acp.user.banReason': '{jslang}wcf.acp.user.banReason{/jslang}',
+                       'wcf.acp.user.banReason.description': '{jslang}wcf.acp.user.banReason.description{/jslang}',
+                       'wcf.acp.user.ban.sure': '{jslang}wcf.acp.user.ban.sure{/jslang}',
+                       'wcf.acp.user.ban.expires': '{jslang}wcf.acp.user.ban.expires{/jslang}',
+                       'wcf.acp.user.ban.expires.description': '{jslang}wcf.acp.user.ban.expires.description{/jslang}',
+                       'wcf.acp.user.ban.neverExpires': '{jslang}wcf.acp.user.ban.neverExpires{/jslang}',
+                       'wcf.acp.user.sendNewPassword.workerTitle': '{jslang}wcf.acp.user.sendNewPassword.workerTitle{/jslang}',
+                       'wcf.acp.worker.abort.confirmMessage': '{jslang}wcf.acp.worker.abort.confirmMessage{/jslang}',
+                       'wcf.acp.content.removeContent': '{jslang}wcf.acp.content.removeContent{/jslang}',
+                       'wcf.user.status.banned': '{jslang}wcf.user.status.banned{/jslang}',
+                       'wcf.user.status.isDisabled': '{jslang}wcf.user.status.isDisabled{/jslang}'
                });
                WCF.ACP.User.BanHandler.init();
                
@@ -47,7 +47,7 @@
                
                require(['Language', 'WoltLabSuite/Core/Acp/Ui/User/Editor'], function (Language, AcpUiUserList) {
                        Language.addObject({
-                               'wcf.acp.user.action.sendNewPassword.confirmMessage': '{lang}wcf.acp.user.action.sendNewPassword.confirmMessage{/lang}'
+                               'wcf.acp.user.action.sendNewPassword.confirmMessage': '{jslang}wcf.acp.user.action.sendNewPassword.confirmMessage{/jslang}'
                        });
                        
                        AcpUiUserList.init();
index b9caa76bcc05cc1f3d0eb535c5c2cdc268824a25..8cc0673d896d7a9ded22d269a40a5cf4bee81401 100644 (file)
@@ -11,7 +11,7 @@
 {if $mailID|isset}
        <script data-relocate="true">
                $(function() {
-                       WCF.Language.add('wcf.acp.worker.abort.confirmMessage', '{lang}wcf.acp.worker.abort.confirmMessage{/lang}');
+                       WCF.Language.add('wcf.acp.worker.abort.confirmMessage', '{jslang}wcf.acp.worker.abort.confirmMessage{/jslang}');
                        
                        new WCF.ACP.Worker('mail', 'wcf\\system\\worker\\MailWorker', '', {
                                mailID: {@$mailID}
index 9c4b1046495914b6807a38824ebaeb5419ca1af0..17c5ce2844058fd60397c44a86d0ee183795c416 100644 (file)
        ], function () {
                require(['Environment', 'Language', 'WoltLabSuite/Core/Ui/Redactor/Autosave', 'WoltLabSuite/Core/Ui/Redactor/Metacode'], function(Environment, Language, UiRedactorAutosave, UiRedactorMetacode) {
                        Language.addObject({
-                               'wcf.attachment.dragAndDrop.dropHere': '{lang}wcf.attachment.dragAndDrop.dropHere{/lang}',
-                               'wcf.attachment.dragAndDrop.dropNow': '{lang}wcf.attachment.dragAndDrop.dropNow{/lang}',
+                               'wcf.attachment.dragAndDrop.dropHere': '{jslang}wcf.attachment.dragAndDrop.dropHere{/jslang}',
+                               'wcf.attachment.dragAndDrop.dropNow': '{jslang}wcf.attachment.dragAndDrop.dropNow{/jslang}',
                                
-                               'wcf.editor.autosave.discard': '{lang}wcf.editor.autosave.discard{/lang}',
-                               'wcf.editor.autosave.keep': '{lang}wcf.editor.autosave.keep{/lang}',
-                               'wcf.editor.autosave.restored': '{lang}wcf.editor.autosave.restored{/lang}',
+                               'wcf.editor.autosave.discard': '{jslang}wcf.editor.autosave.discard{/jslang}',
+                               'wcf.editor.autosave.keep': '{jslang}wcf.editor.autosave.keep{/jslang}',
+                               'wcf.editor.autosave.restored': '{jslang}wcf.editor.autosave.restored{/jslang}',
                                
-                               'wcf.editor.code.edit': '{lang}wcf.editor.code.edit{/lang}',
-                               'wcf.editor.code.file': '{lang}wcf.editor.code.file{/lang}',
-                               'wcf.editor.code.file.description': '{lang}wcf.editor.code.file.description{/lang}',
-                               'wcf.editor.code.highlighter': '{lang}wcf.editor.code.highlighter{/lang}',
-                               'wcf.editor.code.highlighter.description': '{lang}wcf.editor.code.highlighter.description{/lang}',
-                               'wcf.editor.code.highlighter.detect': '{lang}wcf.editor.code.highlighter.detect{/lang}',
-                               'wcf.editor.code.highlighter.plain': '{lang}wcf.editor.code.highlighter.plain{/lang}',
-                               'wcf.editor.code.line': '{lang}wcf.editor.code.line{/lang}',
-                               'wcf.editor.code.line.description': '{lang}wcf.editor.code.line.description{/lang}',
-                               'wcf.editor.code.title': '{lang __literal=true}wcf.editor.code.title{/lang}',
+                               'wcf.editor.code.edit': '{jslang}wcf.editor.code.edit{/jslang}',
+                               'wcf.editor.code.file': '{jslang}wcf.editor.code.file{/jslang}',
+                               'wcf.editor.code.file.description': '{jslang}wcf.editor.code.file.description{/jslang}',
+                               'wcf.editor.code.highlighter': '{jslang}wcf.editor.code.highlighter{/jslang}',
+                               'wcf.editor.code.highlighter.description': '{jslang}wcf.editor.code.highlighter.description{/jslang}',
+                               'wcf.editor.code.highlighter.detect': '{jslang}wcf.editor.code.highlighter.detect{/jslang}',
+                               'wcf.editor.code.highlighter.plain': '{jslang}wcf.editor.code.highlighter.plain{/jslang}',
+                               'wcf.editor.code.line': '{jslang}wcf.editor.code.line{/jslang}',
+                               'wcf.editor.code.line.description': '{jslang}wcf.editor.code.line.description{/jslang}',
+                               'wcf.editor.code.title': '{jslang __literal=true}wcf.editor.code.title{/jslang}',
                                
-                               'wcf.editor.html.description': '{lang}wcf.editor.html.description{/lang}',
-                               'wcf.editor.html.title': '{lang}wcf.editor.html.title{/lang}',
+                               'wcf.editor.html.description': '{jslang}wcf.editor.html.description{/jslang}',
+                               'wcf.editor.html.title': '{jslang}wcf.editor.html.title{/jslang}',
                                
-                               'wcf.editor.image.edit': '{lang}wcf.editor.image.edit{/lang}',
-                               'wcf.editor.image.insert': '{lang}wcf.editor.image.insert{/lang}',
-                               'wcf.editor.image.link': '{lang}wcf.editor.image.link{/lang}',
-                               'wcf.editor.image.link.error.invalid': '{lang}wcf.editor.image.link.error.invalid{/lang}',
-                               'wcf.editor.image.float': '{lang}wcf.editor.image.float{/lang}',
-                               'wcf.editor.image.float.left': '{lang}wcf.editor.image.float.left{/lang}',
-                               'wcf.editor.image.float.right': '{lang}wcf.editor.image.float.right{/lang}',
-                               'wcf.editor.image.source': '{lang}wcf.editor.image.source{/lang}',
-                               'wcf.editor.image.source.error.blocked': '{lang}wcf.editor.image.source.error.blocked{/lang}',
-                               'wcf.editor.image.source.error.insecure': '{lang}wcf.editor.image.source.error.insecure{/lang}',
-                               'wcf.editor.image.source.error.invalid': '{lang}wcf.editor.image.source.error.invalid{/lang}',
+                               'wcf.editor.image.edit': '{jslang}wcf.editor.image.edit{/jslang}',
+                               'wcf.editor.image.insert': '{jslang}wcf.editor.image.insert{/jslang}',
+                               'wcf.editor.image.link': '{jslang}wcf.editor.image.link{/jslang}',
+                               'wcf.editor.image.link.error.invalid': '{jslang}wcf.editor.image.link.error.invalid{/jslang}',
+                               'wcf.editor.image.float': '{jslang}wcf.editor.image.float{/jslang}',
+                               'wcf.editor.image.float.left': '{jslang}wcf.editor.image.float.left{/jslang}',
+                               'wcf.editor.image.float.right': '{jslang}wcf.editor.image.float.right{/jslang}',
+                               'wcf.editor.image.source': '{jslang}wcf.editor.image.source{/jslang}',
+                               'wcf.editor.image.source.error.blocked': '{jslang}wcf.editor.image.source.error.blocked{/jslang}',
+                               'wcf.editor.image.source.error.insecure': '{jslang}wcf.editor.image.source.error.insecure{/jslang}',
+                               'wcf.editor.image.source.error.invalid': '{jslang}wcf.editor.image.source.error.invalid{/jslang}',
                                
-                               'wcf.editor.link.add': '{lang}wcf.editor.link.add{/lang}',
-                               'wcf.editor.link.edit': '{lang}wcf.editor.link.edit{/lang}',
-                               'wcf.editor.link.error.invalid': '{lang}wcf.editor.link.error.invalid{/lang}',
-                               'wcf.editor.link.url': '{lang}wcf.editor.link.url{/lang}',
-                               'wcf.editor.link.text': '{lang}wcf.editor.link.text{/lang}',
+                               'wcf.editor.link.add': '{jslang}wcf.editor.link.add{/jslang}',
+                               'wcf.editor.link.edit': '{jslang}wcf.editor.link.edit{/jslang}',
+                               'wcf.editor.link.error.invalid': '{jslang}wcf.editor.link.error.invalid{/jslang}',
+                               'wcf.editor.link.url': '{jslang}wcf.editor.link.url{/jslang}',
+                               'wcf.editor.link.text': '{jslang}wcf.editor.link.text{/jslang}',
                                
-                               'wcf.editor.list.indent': '{lang}wcf.editor.list.indent{/lang}',
-                               'wcf.editor.list.outdent': '{lang}wcf.editor.list.outdent{/lang}',
+                               'wcf.editor.list.indent': '{jslang}wcf.editor.list.indent{/jslang}',
+                               'wcf.editor.list.outdent': '{jslang}wcf.editor.list.outdent{/jslang}',
                                
-                               'wcf.editor.quote.author': '{lang}wcf.editor.quote.author{/lang}',
-                               'wcf.editor.quote.edit': '{lang}wcf.editor.quote.edit{/lang}',
-                               'wcf.editor.quote.title': '{lang __literal=true}wcf.editor.quote.title{/lang}',
-                               'wcf.editor.quote.url': '{lang}wcf.editor.quote.url{/lang}',
-                               'wcf.editor.quote.url.description': '{lang}wcf.editor.quote.url.description{/lang}',
-                               'wcf.editor.quote.url.error.invalid': '{lang}wcf.editor.quote.url.error.invalid{/lang}',
+                               'wcf.editor.quote.author': '{jslang}wcf.editor.quote.author{/jslang}',
+                               'wcf.editor.quote.edit': '{jslang}wcf.editor.quote.edit{/jslang}',
+                               'wcf.editor.quote.title': '{jslang __literal=true}wcf.editor.quote.title{/jslang}',
+                               'wcf.editor.quote.url': '{jslang}wcf.editor.quote.url{/jslang}',
+                               'wcf.editor.quote.url.description': '{jslang}wcf.editor.quote.url.description{/jslang}',
+                               'wcf.editor.quote.url.error.invalid': '{jslang}wcf.editor.quote.url.error.invalid{/jslang}',
                                
-                               'wcf.editor.table.cols': '{lang}wcf.editor.table.cols{/lang}',
-                               'wcf.editor.table.insertTable': '{lang}wcf.editor.table.insertTable{/lang}',
-                               'wcf.editor.table.rows': '{lang}wcf.editor.table.rows{/lang}',
+                               'wcf.editor.table.cols': '{jslang}wcf.editor.table.cols{/jslang}',
+                               'wcf.editor.table.insertTable': '{jslang}wcf.editor.table.insertTable{/jslang}',
+                               'wcf.editor.table.rows': '{jslang}wcf.editor.table.rows{/jslang}',
                                
-                               'wcf.editor.source.error.active': '{lang}wcf.editor.source.error.active{/lang}',
+                               'wcf.editor.source.error.active': '{jslang}wcf.editor.source.error.active{/jslang}',
                                
-                               'wcf.editor.spoiler.label': '{lang}wcf.editor.spoiler.label{/lang}',
-                               'wcf.editor.spoiler.label.description': '{lang}wcf.editor.spoiler.label.description{/lang}',
-                               'wcf.editor.spoiler.edit': '{lang}wcf.editor.spoiler.edit{/lang}',
-                               'wcf.editor.spoiler.title': '{lang __literal=true}wcf.editor.spoiler.title{/lang}'
+                               'wcf.editor.spoiler.label': '{jslang}wcf.editor.spoiler.label{/jslang}',
+                               'wcf.editor.spoiler.label.description': '{jslang}wcf.editor.spoiler.label.description{/jslang}',
+                               'wcf.editor.spoiler.edit': '{jslang}wcf.editor.spoiler.edit{/jslang}',
+                               'wcf.editor.spoiler.title': '{jslang __literal=true}wcf.editor.spoiler.title{/jslang}'
                        });
                        
                        var allowedInlineStyles = [], buttons = [], buttonMobile = [], buttonOptions = [], customButtons = [];
                        var config = {
                                buttons: buttons,
                                clipboardImageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('attach')}true{else}false{/if},
-                               direction: '{lang}wcf.global.pageDirection{/lang}',
+                               direction: '{jslang}wcf.global.pageDirection{/jslang}',
                                formatting: ['p', 'h2', 'h3', 'h4'],
                                imageCaption: false,
                                imageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('attach')}true{else}false{/if},
                                langs: {
                                        wsc: {
                                                // general
-                                               edit: '{lang}wcf.global.button.edit{/lang}',
+                                               edit: '{jslang}wcf.global.button.edit{/jslang}',
                                                
                                                // formatting dropdown
-                                               heading2: '{lang}wcf.editor.format.heading2{/lang}',
-                                               heading3: '{lang}wcf.editor.format.heading3{/lang}',
-                                               heading4: '{lang}wcf.editor.format.heading4{/lang}',
-                                               paragraph: '{lang}wcf.editor.format.paragraph{/lang}',
+                                               heading2: '{jslang}wcf.editor.format.heading2{/jslang}',
+                                               heading3: '{jslang}wcf.editor.format.heading3{/jslang}',
+                                               heading4: '{jslang}wcf.editor.format.heading4{/jslang}',
+                                               paragraph: '{jslang}wcf.editor.format.paragraph{/jslang}',
                                                
                                                // links
-                                               'link-edit': '{lang}wcf.editor.link.edit{/lang}',
-                                               'link-insert': '{lang}wcf.editor.link.add{/lang}',
-                                               unlink: '{lang}wcf.editor.link.unlink{/lang}',
+                                               'link-edit': '{jslang}wcf.editor.link.edit{/jslang}',
+                                               'link-insert': '{jslang}wcf.editor.link.add{/jslang}',
+                                               unlink: '{jslang}wcf.editor.link.unlink{/jslang}',
                                                
                                                // text alignment
-                                               'align-center': '{lang}wcf.editor.alignment.center{/lang}',
-                                               'align-justify': '{lang}wcf.editor.alignment.justify{/lang}',
-                                               'align-left': '{lang}wcf.editor.alignment.left{/lang}',
-                                               'align-right': '{lang}wcf.editor.alignment.right{/lang}',
+                                               'align-center': '{jslang}wcf.editor.alignment.center{/jslang}',
+                                               'align-justify': '{jslang}wcf.editor.alignment.justify{/jslang}',
+                                               'align-left': '{jslang}wcf.editor.alignment.left{/jslang}',
+                                               'align-right': '{jslang}wcf.editor.alignment.right{/jslang}',
                                                
                                                // table plugin
-                                               'add-head': '{lang}wcf.editor.table.addHead{/lang}',
-                                               'delete-column': '{lang}wcf.editor.table.deleteColumn{/lang}',
-                                               'delete-head': '{lang}wcf.editor.table.deleteHead{/lang}',
-                                               'delete-row': '{lang}wcf.editor.table.deleteRow{/lang}',
-                                               'delete-table': '{lang}wcf.editor.table.deleteTable{/lang}',
-                                               'insert-table': '{lang}wcf.editor.table.insertTable{/lang}',
-                                               'insert-column-left': '{lang}wcf.editor.table.insertColumnLeft{/lang}',
-                                               'insert-column-right': '{lang}wcf.editor.table.insertColumnRight{/lang}',
-                                               'insert-row-above': '{lang}wcf.editor.table.insertRowAbove{/lang}',
-                                               'insert-row-below': '{lang}wcf.editor.table.insertRowBelow{/lang}',
+                                               'add-head': '{jslang}wcf.editor.table.addHead{/jslang}',
+                                               'delete-column': '{jslang}wcf.editor.table.deleteColumn{/jslang}',
+                                               'delete-head': '{jslang}wcf.editor.table.deleteHead{/jslang}',
+                                               'delete-row': '{jslang}wcf.editor.table.deleteRow{/jslang}',
+                                               'delete-table': '{jslang}wcf.editor.table.deleteTable{/jslang}',
+                                               'insert-table': '{jslang}wcf.editor.table.insertTable{/jslang}',
+                                               'insert-column-left': '{jslang}wcf.editor.table.insertColumnLeft{/jslang}',
+                                               'insert-column-right': '{jslang}wcf.editor.table.insertColumnRight{/jslang}',
+                                               'insert-row-above': '{jslang}wcf.editor.table.insertRowAbove{/jslang}',
+                                               'insert-row-below': '{jslang}wcf.editor.table.insertRowBelow{/jslang}',
                                                
                                                // size
-                                               'remove-size': '{lang}wcf.editor.button.size.removeSize{/lang}',
+                                               'remove-size': '{jslang}wcf.editor.button.size.removeSize{/jslang}',
                                                
                                                // color
-                                               'remove-color': '{lang}wcf.editor.button.color.removeColor{/lang}',
+                                               'remove-color': '{jslang}wcf.editor.button.color.removeColor{/jslang}',
                                                
                                                // font
-                                               'remove-font': '{lang}wcf.editor.button.font.removeFont{/lang}'
+                                               'remove-font': '{jslang}wcf.editor.button.font.removeFont{/jslang}'
                                        }
                                },
                                linkify: false,
index 6dd9ba7f18e199756e1164124b65b4db1d483bcc..b920367df7232e7165b24347023fcf517ec7ceac 100644 (file)
@@ -744,7 +744,7 @@ class WCF {
                        $wcf = new TemplateScriptingCore($wcf);
                }
                
-               self::getTPL()->registerPrefilter(['event', 'hascontent', 'lang']);
+               self::getTPL()->registerPrefilter(['event', 'hascontent', 'lang', 'jslang']);
                self::getTPL()->assign([
                        '__wcf' => $wcf,
                        '__wcfVersion' => LAST_UPDATE_TIME // @deprecated 2.1, use LAST_UPDATE_TIME directly
@@ -762,7 +762,7 @@ class WCF {
                        }
                }
                
-               EmailTemplateEngine::getInstance()->registerPrefilter(['event', 'hascontent', 'lang']);
+               EmailTemplateEngine::getInstance()->registerPrefilter(['event', 'hascontent', 'lang', 'jslang']);
                EmailTemplateEngine::getInstance()->assign([
                        '__wcf' => $wcf
                ]);
diff --git a/wcfsetup/install/files/lib/system/template/plugin/JslangCompilerTemplatePlugin.class.php b/wcfsetup/install/files/lib/system/template/plugin/JslangCompilerTemplatePlugin.class.php
new file mode 100644 (file)
index 0000000..fa52c1d
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace wcf\system\template\plugin;
+use wcf\system\template\TemplateScriptingCompiler;
+
+/**
+ * Template compiler plugin which compiles dynamic language variables for the assignment in javascript code.
+ *
+ * Usage:
+ *     {jslang}$blah{/jslang}
+ *     {jslang var=$x}foo{/jslang}
+ *
+ * @author     Marcel Werk
+ * @copyright  2001-2020 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    WoltLabSuite\Core\System\Template\Plugin
+ * @since       5.3
+ */
+class JslangCompilerTemplatePlugin implements ICompilerTemplatePlugin {
+       /**
+        * @inheritDoc
+        */
+       public function executeStart($tagArgs, TemplateScriptingCompiler $compiler) {
+               $compiler->pushTag('jslang');
+               
+               $tagArgs = $compiler::makeArgString($tagArgs);
+               return "<?php
+                       \$this->tagStack[] = ['jslang', array_merge(\$this->v, [$tagArgs])];
+                       ob_start();
+                       ?>";
+       }
+       
+       /**
+        * @inheritDoc
+        */
+       public function executeEnd(TemplateScriptingCompiler $compiler) {
+               $compiler->popTag('jslang');
+               return "<?php
+                       echo wcf\util\StringUtil::encodeJS(wcf\system\WCF::getLanguage()->tplGet(ob_get_clean(), \$this->tagStack[count(\$this->tagStack) - 1][1]));
+                       array_pop(\$this->tagStack); ?>";
+       }
+}
diff --git a/wcfsetup/install/files/lib/system/template/plugin/JslangPrefilterTemplatePlugin.class.php b/wcfsetup/install/files/lib/system/template/plugin/JslangPrefilterTemplatePlugin.class.php
new file mode 100644 (file)
index 0000000..8f393ea
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace wcf\system\template\plugin;
+use wcf\system\template\TemplateScriptingCompiler;
+use wcf\system\WCF;
+use wcf\util\StringUtil;
+
+/**
+ * Template prefilter plugin which compiles static language variables for the assignment in javascript code.
+ *
+ * Usage:
+ *     {jslang}wcf.foo.bar{/jslang}
+ * 
+ * @author     Marcel Werk
+ * @copyright  2001-2020 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    WoltLabSuite\Core\System\Template\Plugin
+ * @since       5.3
+ */
+class JslangPrefilterTemplatePlugin implements IPrefilterTemplatePlugin {
+       /**
+        * @inheritDoc
+        */
+       public function execute($templateName, $sourceContent, TemplateScriptingCompiler $compiler) {
+               $ldq = preg_quote($compiler->getLeftDelimiter(), '~');
+               $rdq = preg_quote($compiler->getRightDelimiter(), '~');
+               $sourceContent = preg_replace_callback("~{$ldq}jslang{$rdq}([\w\.]+){$ldq}/jslang{$rdq}~", function ($match) {
+                       $value = WCF::getLanguage()->get($match[1]);
+                       if (strpos($value, '{') !== false) {
+                               $variableName = '__jslang_capture_' . substr(StringUtil::getRandomID(), 0, 8);
+                               $value = "{capture assign='" . $variableName . "'}" . $value . "{/capture}{@$" . $variableName . "|encodeJS}";
+                       }
+                       else {
+                               $value = StringUtil::encodeJS($value);
+                       }
+                       
+                       return $value;
+               }, $sourceContent);
+               
+               return $sourceContent;
+       }
+}