mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-08-25 19:56:05 +00:00
Merge branch 'master' into 2019-design
This commit is contained in:
commit
4a872012c5
@ -48,6 +48,7 @@ GITHUB_APP_ID=false
|
||||
GITHUB_APP_SECRET=false
|
||||
GOOGLE_APP_ID=false
|
||||
GOOGLE_APP_SECRET=false
|
||||
GOOGLE_SELECT_ACCOUNT=false
|
||||
OKTA_BASE_URL=false
|
||||
OKTA_APP_ID=false
|
||||
OKTA_APP_SECRET=false
|
||||
|
@ -40,7 +40,7 @@ class SocialAuthService
|
||||
public function startLogIn($socialDriver)
|
||||
{
|
||||
$driver = $this->validateDriver($socialDriver);
|
||||
return $this->socialite->driver($driver)->redirect();
|
||||
return $this->getSocialDriver($driver)->redirect();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -52,7 +52,7 @@ class SocialAuthService
|
||||
public function startRegister($socialDriver)
|
||||
{
|
||||
$driver = $this->validateDriver($socialDriver);
|
||||
return $this->socialite->driver($driver)->redirect();
|
||||
return $this->getSocialDriver($driver)->redirect();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -247,4 +247,20 @@ class SocialAuthService
|
||||
session()->flash('success', trans('settings.users_social_disconnected', ['socialAccount' => title_case($socialDriver)]));
|
||||
return redirect(user()->getEditUrl());
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide redirect options per service for the Laravel Socialite driver
|
||||
* @param $driverName
|
||||
* @return \Laravel\Socialite\Contracts\Provider
|
||||
*/
|
||||
public function getSocialDriver(string $driverName)
|
||||
{
|
||||
$driver = $this->socialite->driver($driverName);
|
||||
|
||||
if ($driverName === 'google' && config('services.google.select_account')) {
|
||||
$driver->with(['prompt' => 'select_account']);
|
||||
}
|
||||
|
||||
return $driver;
|
||||
}
|
||||
}
|
||||
|
@ -92,10 +92,15 @@ function baseUrl($path, $forceAppDomain = false)
|
||||
if ($isFullUrl && !$forceAppDomain) {
|
||||
return $path;
|
||||
}
|
||||
|
||||
$path = trim($path, '/');
|
||||
$base = rtrim(config('app.url'), '/');
|
||||
|
||||
// Remove non-specified domain if forced and we have a domain
|
||||
if ($isFullUrl && $forceAppDomain) {
|
||||
if (!empty($base) && strpos($path, $base) === 0) {
|
||||
$path = trim(substr($path, strlen($base) - 1));
|
||||
}
|
||||
$explodedPath = explode('/', $path);
|
||||
$path = implode('/', array_splice($explodedPath, 3));
|
||||
}
|
||||
@ -105,7 +110,7 @@ function baseUrl($path, $forceAppDomain = false)
|
||||
return url($path);
|
||||
}
|
||||
|
||||
return rtrim(config('app.url'), '/') . '/' . $path;
|
||||
return $base . '/' . $path;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -8,7 +8,7 @@
|
||||
"php": ">=7.0.0",
|
||||
"ext-tidy": "*",
|
||||
"ext-dom": "*",
|
||||
"laravel/framework": "~5.5.42",
|
||||
"laravel/framework": "~5.5.44",
|
||||
"fideloper/proxy": "~3.3",
|
||||
"intervention/image": "^2.4",
|
||||
"laravel/socialite": "^3.0",
|
||||
|
811
composer.lock
generated
811
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -84,7 +84,7 @@ return [
|
||||
*/
|
||||
|
||||
'locale' => env('APP_LANG', 'en'),
|
||||
'locales' => ['en', 'ar', 'de', 'es', 'es_AR', 'fr', 'nl', 'pt_BR', 'sk', 'sv', 'ja', 'pl', 'it', 'ru', 'zh_CN', 'zh_TW'],
|
||||
'locales' => ['en', 'ar', 'de', 'es', 'es_AR', 'fr', 'nl', 'pt_BR', 'sk', 'sv', 'kr', 'ja', 'pl', 'it', 'ru', 'zh_CN', 'zh_TW'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -59,6 +59,7 @@ return [
|
||||
'name' => 'Google',
|
||||
'auto_register' => env('GOOGLE_AUTO_REGISTER', false),
|
||||
'auto_confirm' => env('GOOGLE_AUTO_CONFIRM_EMAIL', false),
|
||||
'select_account' => env('GOOGLE_SELECT_ACCOUNT', false),
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
|
8360
package-lock.json
generated
8360
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
40
package.json
40
package.json
@ -10,34 +10,34 @@
|
||||
"permissions": "chown -R $USER:$USER bootstrap/cache storage public/uploads"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.0.0-beta.40",
|
||||
"@babel/polyfill": "^7.0.0-beta.40",
|
||||
"@babel/preset-env": "^7.0.0-beta.40",
|
||||
"autoprefixer": "^8.1.0",
|
||||
"babel-loader": "^8.0.0-beta.0",
|
||||
"css-loader": "^0.28.10",
|
||||
"@babel/core": "^7.1.5",
|
||||
"@babel/polyfill": "^7.0.0",
|
||||
"@babel/preset-env": "^7.1.5",
|
||||
"autoprefixer": "^8.6.5",
|
||||
"babel-loader": "^8.0.4",
|
||||
"css-loader": "^0.28.11",
|
||||
"extract-text-webpack-plugin": "^4.0.0-beta.0",
|
||||
"livereload": "^0.7.0",
|
||||
"node-sass": "^4.9.2",
|
||||
"npm-run-all": "^4.1.2",
|
||||
"postcss-loader": "^2.1.1",
|
||||
"sass-loader": "^7.0.1",
|
||||
"node-sass": "^4.10.0",
|
||||
"npm-run-all": "^4.1.3",
|
||||
"postcss-loader": "^2.1.6",
|
||||
"sass-loader": "^7.1.0",
|
||||
"style-loader": "^0.21.0",
|
||||
"uglifyjs-webpack-plugin": "^1.2.3",
|
||||
"webpack": "^4.16.3",
|
||||
"webpack-cli": "^2.0.11"
|
||||
"uglifyjs-webpack-plugin": "^1.3.0",
|
||||
"webpack": "^4.25.1",
|
||||
"webpack-cli": "^3.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.18.0",
|
||||
"clipboard": "^2.0.0",
|
||||
"codemirror": "^5.26.0",
|
||||
"dropzone": "^5.4.0",
|
||||
"clipboard": "^2.0.1",
|
||||
"codemirror": "^5.41.0",
|
||||
"dropzone": "^5.5.1",
|
||||
"jquery": "^3.3.1",
|
||||
"jquery-sortable": "^0.9.13",
|
||||
"markdown-it": "^8.3.1",
|
||||
"markdown-it-task-lists": "^2.0.0",
|
||||
"vue": "^2.2.6",
|
||||
"vuedraggable": "^2.14.1"
|
||||
"markdown-it": "^8.4.2",
|
||||
"markdown-it-task-lists": "^2.1.1",
|
||||
"vue": "^2.5.17",
|
||||
"vuedraggable": "^2.16.0"
|
||||
},
|
||||
"browser": {
|
||||
"vue": "vue/dist/vue.common.js"
|
||||
|
@ -41,6 +41,8 @@
|
||||
<env name="GOOGLE_APP_SECRET" value="aaaaaaaaaaaaaa"/>
|
||||
<env name="GOOGLE_AUTO_REGISTER" value=""/>
|
||||
<env name="GOOGLE_AUTO_CONFIRM_EMAIL" value=""/>
|
||||
<env name="GOOGLE_SELECT_ACCOUNT" value=""/>
|
||||
<env name="APP_URL" value="http://bookstack.dev"/>
|
||||
<env name="DEBUGBAR_ENABLED" value="false"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
|
@ -56,4 +56,4 @@ class BackToTop {
|
||||
|
||||
}
|
||||
|
||||
module.exports = BackToTop;
|
||||
export default BackToTop;
|
@ -69,4 +69,4 @@ class ChapterToggle {
|
||||
|
||||
}
|
||||
|
||||
module.exports = ChapterToggle;
|
||||
export default ChapterToggle;
|
||||
|
@ -34,4 +34,4 @@ class Collapsible {
|
||||
|
||||
}
|
||||
|
||||
module.exports = Collapsible;
|
||||
export default Collapsible;
|
@ -45,4 +45,4 @@ class DropDown {
|
||||
|
||||
}
|
||||
|
||||
module.exports = DropDown;
|
||||
export default DropDown;
|
@ -44,4 +44,4 @@ class EditorToolbox {
|
||||
|
||||
}
|
||||
|
||||
module.exports = EditorToolbox;
|
||||
export default EditorToolbox;
|
@ -44,4 +44,4 @@ class EntitySelectorPopup {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = EntitySelectorPopup;
|
||||
export default EntitySelectorPopup;
|
@ -115,4 +115,4 @@ class EntitySelector {
|
||||
|
||||
}
|
||||
|
||||
module.exports = EntitySelector;
|
||||
export default EntitySelector;
|
@ -62,4 +62,4 @@ class ExpandToggle {
|
||||
|
||||
}
|
||||
|
||||
module.exports = ExpandToggle;
|
||||
export default ExpandToggle;
|
@ -19,4 +19,4 @@ class HomepageControl {
|
||||
|
||||
}
|
||||
|
||||
module.exports = HomepageControl;
|
||||
export default HomepageControl;
|
@ -56,4 +56,4 @@ class ImagePicker {
|
||||
|
||||
}
|
||||
|
||||
module.exports = ImagePicker;
|
||||
export default ImagePicker;
|
@ -1,31 +1,53 @@
|
||||
import dropdown from "./dropdown";
|
||||
import overlay from "./overlay";
|
||||
import backToTop from "./back-to-top";
|
||||
import notification from "./notification";
|
||||
import chapterToggle from "./chapter-toggle";
|
||||
import expandToggle from "./expand-toggle";
|
||||
import entitySelectorPopup from "./entity-selector-popup";
|
||||
import entitySelector from "./entity-selector";
|
||||
import sidebar from "./sidebar";
|
||||
import pagePicker from "./page-picker";
|
||||
import pageComments from "./page-comments";
|
||||
import wysiwygEditor from "./wysiwyg-editor";
|
||||
import markdownEditor from "./markdown-editor";
|
||||
import editorToolbox from "./editor-toolbox";
|
||||
import imagePicker from "./image-picker";
|
||||
import collapsible from "./collapsible";
|
||||
import toggleSwitch from "./toggle-switch";
|
||||
import pageDisplay from "./page-display";
|
||||
import shelfSort from "./shelf-sort";
|
||||
import homepageControl from "./homepage-control";
|
||||
import headerMobileToggle from "./header-mobile-toggle";
|
||||
|
||||
let componentMapping = {
|
||||
'dropdown': require('./dropdown'),
|
||||
'overlay': require('./overlay'),
|
||||
'back-to-top': require('./back-top-top'),
|
||||
'notification': require('./notification'),
|
||||
'chapter-toggle': require('./chapter-toggle'),
|
||||
'expand-toggle': require('./expand-toggle'),
|
||||
'entity-selector-popup': require('./entity-selector-popup'),
|
||||
'entity-selector': require('./entity-selector'),
|
||||
'sidebar': require('./sidebar'),
|
||||
'page-picker': require('./page-picker'),
|
||||
'page-comments': require('./page-comments'),
|
||||
'wysiwyg-editor': require('./wysiwyg-editor'),
|
||||
'markdown-editor': require('./markdown-editor'),
|
||||
'editor-toolbox': require('./editor-toolbox'),
|
||||
'image-picker': require('./image-picker'),
|
||||
'collapsible': require('./collapsible'),
|
||||
'toggle-switch': require('./toggle-switch'),
|
||||
'page-display': require('./page-display'),
|
||||
'shelf-sort': require('./shelf-sort'),
|
||||
'homepage-control': require('./homepage-control'),
|
||||
'header-mobile-toggle': require('./header-mobile-toggle'),
|
||||
|
||||
const componentMapping = {
|
||||
'dropdown': dropdown,
|
||||
'overlay': overlay,
|
||||
'back-to-top': backToTop,
|
||||
'notification': notification,
|
||||
'chapter-toggle': chapterToggle,
|
||||
'expand-toggle': expandToggle,
|
||||
'entity-selector-popup': entitySelectorPopup,
|
||||
'entity-selector': entitySelector,
|
||||
'sidebar': sidebar,
|
||||
'page-picker': pagePicker,
|
||||
'page-comments': pageComments,
|
||||
'wysiwyg-editor': wysiwygEditor,
|
||||
'markdown-editor': markdownEditor,
|
||||
'editor-toolbox': editorToolbox,
|
||||
'image-picker': imagePicker,
|
||||
'collapsible': collapsible,
|
||||
'toggle-switch': toggleSwitch,
|
||||
'page-display': pageDisplay,
|
||||
'shelf-sort': shelfSort,
|
||||
'homepage-control': homepageControl,
|
||||
'header-mobile-toggle': headerMobileToggle,
|
||||
};
|
||||
|
||||
window.components = {};
|
||||
|
||||
let componentNames = Object.keys(componentMapping);
|
||||
const componentNames = Object.keys(componentMapping);
|
||||
|
||||
/**
|
||||
* Initialize components of the given name within the given element.
|
||||
@ -59,4 +81,4 @@ function initAll(parentElement) {
|
||||
|
||||
window.components.init = initAll;
|
||||
|
||||
export default initAll;
|
||||
export default initAll;
|
||||
|
@ -1,8 +1,8 @@
|
||||
const MarkdownIt = require("markdown-it");
|
||||
const mdTasksLists = require('markdown-it-task-lists');
|
||||
const code = require('../services/code');
|
||||
import MarkdownIt from "markdown-it";
|
||||
import mdTasksLists from 'markdown-it-task-lists';
|
||||
import code from '../services/code';
|
||||
|
||||
const DrawIO = require('../services/drawio');
|
||||
import DrawIO from "../services/drawio";
|
||||
|
||||
class MarkdownEditor {
|
||||
|
||||
@ -272,14 +272,15 @@ class MarkdownEditor {
|
||||
let placeHolderText = `![${selectedText}](${placeholderImage})`;
|
||||
let cursor = cm.getCursor();
|
||||
cm.replaceSelection(placeHolderText);
|
||||
cm.setCursor({line: cursor.line, ch: cursor.ch + selectedText.length + 2});
|
||||
cm.setCursor({line: cursor.line, ch: cursor.ch + selectedText.length + 3});
|
||||
|
||||
let remoteFilename = "image-" + Date.now() + "." + ext;
|
||||
let formData = new FormData();
|
||||
formData.append('file', file, remoteFilename);
|
||||
|
||||
window.$http.post('/images/gallery/upload', formData).then(resp => {
|
||||
replaceContent(placeholderImage, resp.data.thumbs.display);
|
||||
const newContent = `[![${selectedText}](${resp.data.thumbs.display})](${resp.data.url})`;
|
||||
replaceContent(placeHolderText, newContent);
|
||||
}).catch(err => {
|
||||
window.$events.emit('error', trans('errors.image_upload_error'));
|
||||
replaceContent(placeHolderText, selectedText);
|
||||
@ -304,7 +305,7 @@ class MarkdownEditor {
|
||||
let cursorPos = this.cm.getCursor('from');
|
||||
window.ImageManager.show(image => {
|
||||
let selectedText = this.cm.getSelection();
|
||||
let newText = "![" + (selectedText || image.name) + "](" + image.thumbs.display + ")";
|
||||
let newText = "[![" + (selectedText || image.name) + "](" + image.thumbs.display + ")](" + image.url + ")";
|
||||
this.cm.focus();
|
||||
this.cm.replaceSelection(newText);
|
||||
this.cm.setCursor(cursorPos.line, cursorPos.ch + newText.length);
|
||||
@ -427,4 +428,4 @@ class MarkdownEditor {
|
||||
|
||||
}
|
||||
|
||||
module.exports = MarkdownEditor ;
|
||||
export default MarkdownEditor ;
|
||||
|
@ -43,4 +43,4 @@ class Notification {
|
||||
|
||||
}
|
||||
|
||||
module.exports = Notification;
|
||||
export default Notification;
|
@ -36,4 +36,4 @@ class Overlay {
|
||||
|
||||
}
|
||||
|
||||
module.exports = Overlay;
|
||||
export default Overlay;
|
@ -1,4 +1,4 @@
|
||||
const MarkdownIt = require("markdown-it");
|
||||
import MarkdownIt from "markdown-it";
|
||||
const md = new MarkdownIt({ html: false });
|
||||
|
||||
class PageComments {
|
||||
@ -172,4 +172,4 @@ class PageComments {
|
||||
|
||||
}
|
||||
|
||||
module.exports = PageComments;
|
||||
export default PageComments;
|
@ -1,4 +1,4 @@
|
||||
import Clipboard from "clipboard";
|
||||
import Clipboard from "clipboard/dist/clipboard.min";
|
||||
import Code from "../services/code";
|
||||
|
||||
class PageDisplay {
|
||||
@ -233,4 +233,4 @@ class PageDisplay {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = PageDisplay;
|
||||
export default PageDisplay;
|
||||
|
@ -59,4 +59,4 @@ function toggleElem(elem, show) {
|
||||
elem.style.display = show ? display : 'none';
|
||||
}
|
||||
|
||||
module.exports = PagePicker;
|
||||
export default PagePicker;
|
@ -1,3 +1,4 @@
|
||||
import "jquery-sortable";
|
||||
|
||||
class ShelfSort {
|
||||
|
||||
@ -9,9 +10,8 @@ class ShelfSort {
|
||||
}
|
||||
|
||||
initSortable() {
|
||||
const sortable = require('jquery-sortable');
|
||||
const placeHolderContent = this.getPlaceholderHTML();
|
||||
|
||||
// TODO - Load sortable at this point
|
||||
return $('.scroll-box').sortable({
|
||||
group: 'shelf-books',
|
||||
exclude: '.instruction,.scroll-box-placeholder',
|
||||
@ -68,4 +68,4 @@ class ShelfSort {
|
||||
|
||||
}
|
||||
|
||||
module.exports = ShelfSort;
|
||||
export default ShelfSort;
|
@ -13,4 +13,4 @@ class Sidebar {
|
||||
|
||||
}
|
||||
|
||||
module.exports = Sidebar;
|
||||
export default Sidebar;
|
@ -16,4 +16,4 @@ class ToggleSwitch {
|
||||
|
||||
}
|
||||
|
||||
module.exports = ToggleSwitch;
|
||||
export default ToggleSwitch;
|
@ -1,5 +1,5 @@
|
||||
const Code = require('../services/code');
|
||||
const DrawIO = require('../services/drawio');
|
||||
import Code from "../services/code";
|
||||
import DrawIO from "../services/drawio";
|
||||
|
||||
/**
|
||||
* Handle pasting images from clipboard.
|
||||
@ -593,4 +593,4 @@ class WysiwygEditor {
|
||||
|
||||
}
|
||||
|
||||
module.exports = WysiwygEditor;
|
||||
export default WysiwygEditor;
|
||||
|
@ -1,27 +1,27 @@
|
||||
const CodeMirror = require('codemirror');
|
||||
const Clipboard = require("clipboard");
|
||||
import CodeMirror from "codemirror";
|
||||
import Clipboard from "clipboard/dist/clipboard.min";
|
||||
|
||||
// Modes
|
||||
require('codemirror/mode/css/css');
|
||||
require('codemirror/mode/clike/clike');
|
||||
require('codemirror/mode/diff/diff');
|
||||
require('codemirror/mode/go/go');
|
||||
require('codemirror/mode/htmlmixed/htmlmixed');
|
||||
require('codemirror/mode/javascript/javascript');
|
||||
require('codemirror/mode/markdown/markdown');
|
||||
require('codemirror/mode/nginx/nginx');
|
||||
require('codemirror/mode/php/php');
|
||||
require('codemirror/mode/powershell/powershell');
|
||||
require('codemirror/mode/python/python');
|
||||
require('codemirror/mode/ruby/ruby');
|
||||
require('codemirror/mode/shell/shell');
|
||||
require('codemirror/mode/sql/sql');
|
||||
require('codemirror/mode/toml/toml');
|
||||
require('codemirror/mode/xml/xml');
|
||||
require('codemirror/mode/yaml/yaml');
|
||||
import 'codemirror/mode/css/css';
|
||||
import 'codemirror/mode/clike/clike';
|
||||
import 'codemirror/mode/diff/diff';
|
||||
import 'codemirror/mode/go/go';
|
||||
import 'codemirror/mode/htmlmixed/htmlmixed';
|
||||
import 'codemirror/mode/javascript/javascript';
|
||||
import 'codemirror/mode/markdown/markdown';
|
||||
import 'codemirror/mode/nginx/nginx';
|
||||
import 'codemirror/mode/php/php';
|
||||
import 'codemirror/mode/powershell/powershell';
|
||||
import 'codemirror/mode/python/python';
|
||||
import 'codemirror/mode/ruby/ruby';
|
||||
import 'codemirror/mode/shell/shell';
|
||||
import 'codemirror/mode/sql/sql';
|
||||
import 'codemirror/mode/toml/toml';
|
||||
import 'codemirror/mode/xml/xml';
|
||||
import 'codemirror/mode/yaml/yaml';
|
||||
|
||||
// Addons
|
||||
require('codemirror/addon/scroll/scrollpastend');
|
||||
import 'codemirror/addon/scroll/scrollpastend';
|
||||
|
||||
const modeMap = {
|
||||
css: 'css',
|
||||
@ -255,7 +255,7 @@ function getMetaKey() {
|
||||
return mac ? "Cmd" : "Ctrl";
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
highlight: highlight,
|
||||
wysiwygView: wysiwygView,
|
||||
popupEditor: popupEditor,
|
||||
|
@ -66,4 +66,4 @@ function drawPostMessage(data) {
|
||||
iFrame.contentWindow.postMessage(JSON.stringify(data), '*');
|
||||
}
|
||||
|
||||
module.exports = {show, close};
|
||||
export default {show, close};
|
@ -25,4 +25,4 @@ class Events {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Events;
|
||||
export default Events;
|
@ -107,4 +107,4 @@ class Translator {
|
||||
|
||||
}
|
||||
|
||||
module.exports = Translator;
|
||||
export default Translator;
|
||||
|
@ -1,5 +1,5 @@
|
||||
const draggable = require('vuedraggable');
|
||||
const dropzone = require('./components/dropzone');
|
||||
import draggable from "vuedraggable";
|
||||
import dropzone from "./components/dropzone";
|
||||
|
||||
function mounted() {
|
||||
this.pageId = this.$el.getAttribute('page-id');
|
||||
@ -137,6 +137,6 @@ let methods = {
|
||||
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
data, methods, mounted, components,
|
||||
};
|
@ -1,4 +1,4 @@
|
||||
const codeLib = require('../services/code');
|
||||
import codeLib from "../services/code";
|
||||
|
||||
const methods = {
|
||||
show() {
|
||||
@ -37,7 +37,7 @@ const data = {
|
||||
callback: null
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
methods,
|
||||
data
|
||||
};
|
@ -125,4 +125,4 @@ const methods = {
|
||||
|
||||
};
|
||||
|
||||
module.exports = {template, data, props, methods};
|
||||
export default {template, data, props, methods};
|
@ -1,4 +1,4 @@
|
||||
const DropZone = require("dropzone");
|
||||
import DropZone from "dropzone";
|
||||
|
||||
const template = `
|
||||
<div class="dropzone-container">
|
||||
@ -60,7 +60,7 @@ const methods = {
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
template,
|
||||
props,
|
||||
mounted,
|
||||
|
@ -39,6 +39,6 @@ function mounted() {
|
||||
this.type = this.$el.getAttribute('entity-type');
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
data, computed, methods, mounted
|
||||
};
|
@ -1,7 +1,5 @@
|
||||
|
||||
import * as Dates from "../services/dates";
|
||||
|
||||
const dropzone = require('./components/dropzone');
|
||||
import dropzone from "./components/dropzone";
|
||||
|
||||
let page = 0;
|
||||
let previousClickTime = 0;
|
||||
@ -193,7 +191,7 @@ function mounted() {
|
||||
baseUrl = window.baseUrl('/images/' + this.imageType + '/all/')
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
mounted,
|
||||
methods,
|
||||
data,
|
||||
|
@ -145,6 +145,6 @@ let computed = {
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
mounted, data, methods, computed,
|
||||
};
|
@ -188,6 +188,6 @@ function created() {
|
||||
this.dateParse(this.termString);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
data, computed, methods, created
|
||||
};
|
||||
|
@ -1,5 +1,5 @@
|
||||
const draggable = require('vuedraggable');
|
||||
const autosuggest = require('./components/autosuggest');
|
||||
import draggable from 'vuedraggable';
|
||||
import autosuggest from './components/autosuggest';
|
||||
|
||||
let data = {
|
||||
entityId: false,
|
||||
@ -63,6 +63,6 @@ function mounted() {
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
data, methods, mounted, components, directives
|
||||
};
|
@ -1,17 +1,25 @@
|
||||
const Vue = require("vue");
|
||||
import Vue from "vue";
|
||||
|
||||
function exists(id) {
|
||||
return document.getElementById(id) !== null;
|
||||
}
|
||||
|
||||
import searchSystem from "./search";
|
||||
import entityDashboard from "./entity-dashboard";
|
||||
import codeEditor from "./code-editor";
|
||||
import imageManager from "./image-manager";
|
||||
import tagManager from "./tag-manager";
|
||||
import attachmentManager from "./attachment-manager";
|
||||
import pageEditor from "./page-editor";
|
||||
|
||||
let vueMapping = {
|
||||
'search-system': require('./search'),
|
||||
'entity-dashboard': require('./entity-dashboard'),
|
||||
'code-editor': require('./code-editor'),
|
||||
'image-manager': require('./image-manager'),
|
||||
'tag-manager': require('./tag-manager'),
|
||||
'attachment-manager': require('./attachment-manager'),
|
||||
'page-editor': require('./page-editor'),
|
||||
'search-system': searchSystem,
|
||||
'entity-dashboard': entityDashboard,
|
||||
'code-editor': codeEditor,
|
||||
'image-manager': imageManager,
|
||||
'tag-manager': tagManager,
|
||||
'attachment-manager': attachmentManager,
|
||||
'page-editor': pageEditor,
|
||||
};
|
||||
|
||||
window.vues = {};
|
||||
|
@ -144,6 +144,7 @@ return [
|
||||
'pt_BR' => 'Português do Brasil',
|
||||
'sk' => 'Slovensky',
|
||||
'sv' => 'Svenska',
|
||||
'kr' => '한국어',
|
||||
'ja' => '日本語',
|
||||
'pl' => 'Polski',
|
||||
'it' => 'Italian',
|
||||
|
@ -37,6 +37,14 @@ return [
|
||||
'book_sort' => 'a réordonné le livre',
|
||||
'book_sort_notification' => 'Livre réordonné avec succès',
|
||||
|
||||
// Bookshelves
|
||||
'bookshelf_create' => 'a créé l\'étagère',
|
||||
'bookshelf_create_notification' => 'Étagère créée avec succès',
|
||||
'bookshelf_update' => 'a modifié l\'étagère',
|
||||
'bookshelf_update_notification' => 'Étagère modifiée avec succès',
|
||||
'bookshelf_delete' => 'a supprimé l\'étagère',
|
||||
'bookshelf_delete_notification' => 'Étagère supprimée avec succès',
|
||||
|
||||
// Other
|
||||
'commented_on' => 'a commenté'
|
||||
];
|
||||
|
@ -52,6 +52,7 @@ return [
|
||||
'details' => 'Détails',
|
||||
'grid_view' => 'Vue en grille',
|
||||
'list_view' => 'Vue en liste',
|
||||
'default' => 'Défaut',
|
||||
|
||||
/**
|
||||
* Header
|
||||
|
@ -52,11 +52,13 @@ return [
|
||||
'search_content_type' => 'Type de contenu',
|
||||
'search_exact_matches' => 'Correspondances exactes',
|
||||
'search_tags' => 'Recherche par tags',
|
||||
'search_options' => 'Options',
|
||||
'search_viewed_by_me' => 'Vu par moi',
|
||||
'search_not_viewed_by_me' => 'Non vu par moi',
|
||||
'search_permissions_set' => 'Ensemble d\'autorisations',
|
||||
'search_created_by_me' => 'Créé par moi',
|
||||
'search_updated_by_me' => 'Mis à jour par moi',
|
||||
'search_date_options' => 'Recherche par date',
|
||||
'search_updated_before' => 'Mis à jour avant',
|
||||
'search_updated_after' => 'Mis à jour après',
|
||||
'search_created_before' => 'Créé avant',
|
||||
@ -64,6 +66,38 @@ return [
|
||||
'search_set_date' => 'Choisir la date',
|
||||
'search_update' => 'Actualiser la recherche',
|
||||
|
||||
/**
|
||||
* Shelves
|
||||
*/
|
||||
'shelf' => 'Étagère',
|
||||
'shelves' => 'Étagères',
|
||||
'shelves_long' => 'Étagères',
|
||||
'shelves_empty' => 'Aucune étagère n\'a été créée',
|
||||
'shelves_create' => 'Créer une nouvelle étagère',
|
||||
'shelves_popular' => 'Étagères populaires',
|
||||
'shelves_new' => 'Nouvelles Étagères',
|
||||
'shelves_popular_empty' => 'Les étagères les plus populaires apparaîtront ici.',
|
||||
'shelves_new_empty' => 'Les étagères les plus récentes apparaitront ici.',
|
||||
'shelves_save' => 'Enregistrer l\'étagère',
|
||||
'shelves_books' => 'Livres sur cette étagère',
|
||||
'shelves_add_books' => 'Ajouter des livres sur cette étagère',
|
||||
'shelves_drag_books' => 'Déposez des livres ici pour les ajouter a cette étagère',
|
||||
'shelves_empty_contents' => 'Aucun livre n\'a été assigné à cette étagère',
|
||||
'shelves_edit_and_assign' => 'Modifier cette étagère pour y ajouter des livres',
|
||||
'shelves_edit_named' => 'Modifier l\'étagère :name',
|
||||
'shelves_edit' => 'Modifier l\'étagère',
|
||||
'shelves_delete' => 'Supprimer l\'étagère',
|
||||
'shelves_delete_named' => 'Supprimer l\'étagère :name',
|
||||
'shelves_delete_explain' => "Ceci va supprimer l\'étagère nommée \':bookName\'. Les livres contenus dans cette étagère ne seront pas supprimés.",
|
||||
'shelves_delete_confirmation' => 'Êtes-vous sûr(e) de vouloir supprimer cette étagère ?',
|
||||
'shelves_permissions' => 'Permissions de l\'étagère',
|
||||
'shelves_permissions_updated' => 'Permissions de l\'étagère mises à jour',
|
||||
'shelves_permissions_active' => 'Permissions de l\'étagère activées',
|
||||
'shelves_copy_permissions_to_books' => 'Copier les permissions vers les livres',
|
||||
'shelves_copy_permissions' => 'Copier les permissions',
|
||||
'shelves_copy_permissions_explain' => 'Ceci va appliquer les permissions actuelles de cette étagère à tous les livres qu\'elle contient. Avant de continuer, assurez-vous que toutes les permissions de cette étagère ont été sauvegardées.',
|
||||
'shelves_copy_permission_success' => 'Permissions de l\'étagère transférées à :count livres',
|
||||
|
||||
/**
|
||||
* Books
|
||||
*/
|
||||
@ -199,6 +233,7 @@ return [
|
||||
'message' => ':start :time. Attention à ne pas écraser les mises à jour de quelqu\'un d\'autre !',
|
||||
],
|
||||
'pages_draft_discarded' => 'Brouillon écarté, la page est dans sa version actuelle.',
|
||||
'pages_specific' => 'Page Spécifique',
|
||||
|
||||
/**
|
||||
* Editor sidebar
|
||||
@ -206,6 +241,7 @@ return [
|
||||
'page_tags' => 'Mots-clés de la page',
|
||||
'chapter_tags' => 'Mots-clés du chapitre',
|
||||
'book_tags' => 'Mots-clés du livre',
|
||||
'shelf_tags' => 'Mots-clés de l\'étagère',
|
||||
'tag' => 'Mot-clé',
|
||||
'tags' => 'Mots-clés',
|
||||
'tag_value' => 'Valeur du mot-clé (Optionnel)',
|
||||
|
@ -49,6 +49,7 @@ return [
|
||||
|
||||
// Entities
|
||||
'entity_not_found' => 'Entité non trouvée',
|
||||
'bookshelf_not_found' => 'Étagère non trouvée',
|
||||
'book_not_found' => 'Livre non trouvé',
|
||||
'page_not_found' => 'Page non trouvée',
|
||||
'chapter_not_found' => 'Chapitre non trouvé',
|
||||
|
@ -33,8 +33,7 @@ return [
|
||||
'app_primary_color_desc' => 'Cela devrait être une valeur hexadécimale. <br>Laisser vide pour rétablir la couleur par défaut.',
|
||||
'app_homepage' => 'Page d\'accueil de l\'application',
|
||||
'app_homepage_desc' => 'Choisissez une page à afficher sur la page d\'accueil au lieu de la vue par défaut. Les permissions sont ignorées pour les pages sélectionnées.',
|
||||
'app_homepage_default' => 'Page d\'accueil par défaut sélectionnée',
|
||||
'app_homepage_books' => 'Ou sélectionner la page des livres comme page d\'accueil. Cela va ignorer la page séléctionnée comme page d\'accueil.',
|
||||
'app_homepage_select' => 'Choisissez une page',
|
||||
'app_disable_comments' => 'Désactiver les commentaires',
|
||||
'app_disable_comments_desc' => 'Désactive les commentaires sur toutes les pages de l\'application. Les commentaires existants ne sont pas affichés.',
|
||||
|
||||
@ -91,6 +90,7 @@ return [
|
||||
'role_manage_settings' => 'Gérer les préférences de l\'application',
|
||||
'role_asset' => 'Permissions des ressources',
|
||||
'role_asset_desc' => 'Ces permissions contrôlent l\'accès par défaut des ressources dans le système. Les permissions dans les livres, les chapitres et les pages ignoreront ces permissions',
|
||||
'role_asset_admins' => 'Les administrateurs ont automatiquement accès à tous les contenus mais les options suivantes peuvent afficher ou masquer certaines options de l\'interface.',
|
||||
'role_all' => 'Tous',
|
||||
'role_own' => 'Propres',
|
||||
'role_controlled_by_asset' => 'Contrôlé par les ressources les ayant envoyés',
|
||||
@ -111,7 +111,6 @@ return [
|
||||
'users_external_auth_id' => 'Identifiant d\'authentification externe',
|
||||
'users_password_warning' => 'Remplissez ce formulaire uniquement si vous souhaitez changer de mot de passe:',
|
||||
'users_system_public' => 'Cet utilisateur représente les invités visitant votre instance. Il est assigné automatiquement aux invités.',
|
||||
'users_books_view_type' => 'Disposition d\'affichage préférée pour les livres',
|
||||
'users_delete' => 'Supprimer un utilisateur',
|
||||
'users_delete_named' => 'Supprimer l\'utilisateur :userName',
|
||||
'users_delete_warning' => 'Ceci va supprimer \':userName\' du système.',
|
||||
|
40
resources/lang/kr/activities.php
Normal file
40
resources/lang/kr/activities.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/**
|
||||
* Activity text strings.
|
||||
* Is used for all the text within activity logs & notifications.
|
||||
*/
|
||||
|
||||
// Pages
|
||||
'page_create' => '페이지 생성',
|
||||
'page_create_notification' => '페이지를 만들었습니다.',
|
||||
'page_update' => '페이지 업데이트',
|
||||
'page_update_notification' => '페이지를 업데이트하였습니다.',
|
||||
'page_delete' => '페이지 삭제',
|
||||
'page_delete_notification' => '페이지를 삭제하였습니다.',
|
||||
'page_restore' => '페이지 복원',
|
||||
'page_restore_notification' => '페이지를 복원하였습니다.',
|
||||
'page_move' => '페이지 이동',
|
||||
|
||||
// Chapters
|
||||
'chapter_create' => '챕터 만들기',
|
||||
'chapter_create_notification' => '챕터를 만들었습니다.',
|
||||
'chapter_update' => '챕터 업데이트',
|
||||
'chapter_update_notification' => '챕터를 업데이트하였습니다.',
|
||||
'chapter_delete' => '챕터 삭제',
|
||||
'chapter_delete_notification' => '챔터를 삭제하였습니다.',
|
||||
'chapter_move' => '챕터 이동',
|
||||
|
||||
// Books
|
||||
'book_create' => '책 만들기',
|
||||
'book_create_notification' => '책을 만들었습니다.',
|
||||
'book_update' => '책 업데이트',
|
||||
'book_update_notification' => '책을 업데이트하였습니다.',
|
||||
'book_delete' => '책 삭제',
|
||||
'book_delete_notification' => '책을 삭제하였습니다.',
|
||||
'book_sort' => '책 정렬',
|
||||
'book_sort_notification' => '책을 정렬하였습니다.',
|
||||
|
||||
];
|
76
resources/lang/kr/auth.php
Normal file
76
resources/lang/kr/auth.php
Normal file
@ -0,0 +1,76 @@
|
||||
<?php
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
'failed' => '이 자격 증명은 등록되어 있지 않습니다.',
|
||||
'throttle' => '로그인 시도 횟수 제한을 초과했습니다. :seconds초 후에 다시 시도하십시오.',
|
||||
|
||||
/**
|
||||
* Login & Register
|
||||
*/
|
||||
'sign_up' => '신규등록',
|
||||
'log_in' => '로그인',
|
||||
'log_in_with' => ':socialDriver에 로그인',
|
||||
'sign_up_with' => ':socialDriver로 등록',
|
||||
'logout' => '로그아웃',
|
||||
|
||||
'name' => '이름',
|
||||
'username' => '사용자이름',
|
||||
'email' => '이메일',
|
||||
'password' => '비밀번호',
|
||||
'password_confirm' => '비밀번호 (확인)',
|
||||
'password_hint' => '5자 이상이어야 합니다.',
|
||||
'forgot_password' => '비밀번호를 잊으셨습니까?',
|
||||
'remember_me' => '자동로그인',
|
||||
'ldap_email_hint' => '이 계정에서 사용하는 이메일을 입력해 주세요.',
|
||||
'create_account' => '계정 만들기',
|
||||
'social_login' => 'SNS로그인',
|
||||
'social_registration' => 'SNS등록',
|
||||
'social_registration_text' => '다른 서비스를 사용하여 등록하고 로그인.',
|
||||
|
||||
'register_thanks' => '등록이완료되었습니다!',
|
||||
'register_confirm' => '당신의 이메일을 확인하신후 확인 버튼을 눌러 :appName에 액세스하십시오.',
|
||||
'registrations_disabled' => '현재 등록이 불가합니다.',
|
||||
'registration_email_domain_invalid' => '해당 이메일 도메인으로 액세스 할 수 없습니다.',
|
||||
'register_success' => '등록을 완료하고 로그인 할 수 있습니다!',
|
||||
|
||||
|
||||
/**
|
||||
* Password Reset
|
||||
*/
|
||||
'reset_password' => '암호 재설정',
|
||||
'reset_password_send_instructions' => '다음에 메일 주소를 입력하면 비밀번호 재설정 링크가 포함 된 이메일이 전송됩니다.',
|
||||
'reset_password_send_button' => '재설정 링크 보내기',
|
||||
'reset_password_sent_success' => ':email로 재설정 링크를 보냈습니다.',
|
||||
'reset_password_success' => '비밀번호가 재설정되었습니다.',
|
||||
|
||||
'email_reset_subject' => ':appName 암호를 재설정',
|
||||
'email_reset_text' => '귀하의 계정에 대한 비밀번호 재설정 요청을 받았기 때문에 본 이메일이 발송되었습니다.',
|
||||
'email_reset_not_requested' => '암호 재설정을 요청하지 않은 경우 더 이상의 조치는 필요하지 않습니다.',
|
||||
|
||||
|
||||
/**
|
||||
* Email Confirmation
|
||||
*/
|
||||
'email_confirm_subject' => ':appName의 이메일 주소 확인',
|
||||
'email_confirm_greeting' => ':appName에 가입 해 주셔서 감사합니다!',
|
||||
'email_confirm_text' => '다음 버튼을 눌러 이메일 주소를 확인하십시오',
|
||||
'email_confirm_action' => '이메일 주소를 확인',
|
||||
'email_confirm_send_error' => 'E메일 확인이 필요하지만 시스템에서 메일을 보낼 수 없습니다. 관리자에게 문의하여 메일이 제대로 설정되어 있는지 확인하십시오.',
|
||||
'email_confirm_success' => '메일 주소가 확인되었습니다.',
|
||||
'email_confirm_resent' => '확인 메일을 다시 보냈습니다. 받은 편지함을 확인하십시오.',
|
||||
|
||||
'email_not_confirmed' => '메일 주소가 확인되지 않습니다',
|
||||
'email_not_confirmed_text' => '메일 주소 확인이 완료되지 않습니다.',
|
||||
'email_not_confirmed_click_link' => '등록시 받은 이메일을 확인하고 확인 링크를 클릭하십시오.',
|
||||
'email_not_confirmed_resend' => '메일이 없으면 아래 양식을 통해 다시 제출하십시오.',
|
||||
'email_not_confirmed_resend_button' => '확인 메일을 다시 전송',
|
||||
];
|
68
resources/lang/kr/common.php
Normal file
68
resources/lang/kr/common.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
return [
|
||||
|
||||
/**
|
||||
* Buttons
|
||||
*/
|
||||
'cancel' => '취소',
|
||||
'confirm' => '확인',
|
||||
'back' => '뒤로',
|
||||
'save' => '저장',
|
||||
'continue' => '계속하기',
|
||||
'select' => '선택',
|
||||
'more' => '더보기',
|
||||
|
||||
/**
|
||||
* Form Labels
|
||||
*/
|
||||
'name' => '이름',
|
||||
'description' => '설명',
|
||||
'role' => '역할',
|
||||
'cover_image' => '대표 이미지',
|
||||
'cover_image_description' => '이 이미지는 약 440x250px 정도의 크기여야 합니다.',
|
||||
|
||||
/**
|
||||
* Actions
|
||||
*/
|
||||
'actions' => 'Actions',
|
||||
'view' => '뷰',
|
||||
'create' => '생성',
|
||||
'update' => '업데이트',
|
||||
'edit' => '수정',
|
||||
'sort' => '정렬',
|
||||
'move' => '이동',
|
||||
'copy' => '복사',
|
||||
'reply' => 'Reply',
|
||||
'delete' => '삭제',
|
||||
'search' => '검색',
|
||||
'search_clear' => '검색기록 삭제',
|
||||
'reset' => '초기화',
|
||||
'remove' => '제거',
|
||||
'add' => '추가',
|
||||
|
||||
/**
|
||||
* Misc
|
||||
*/
|
||||
'deleted_user' => '삭제된 사용자',
|
||||
'no_activity' => '활동내역이 없음',
|
||||
'no_items' => '사용가능한 항목이 없음',
|
||||
'back_to_top' => '맨위로',
|
||||
'toggle_details' => '상세 토글',
|
||||
'toggle_thumbnails' => '썸내일 토글',
|
||||
'details' => '상세',
|
||||
'grid_view' => '그리드 뷰',
|
||||
'list_view' => '리스트뷰',
|
||||
'default' => '기본설정',
|
||||
|
||||
/**
|
||||
* Header
|
||||
*/
|
||||
'view_profile' => '프로파일 보기',
|
||||
'edit_profile' => '프로파일 수정하기',
|
||||
|
||||
/**
|
||||
* Email Content
|
||||
*/
|
||||
'email_action_help' => '":actionText"버튼을 클릭하는 데 문제가 있으면 아래 URL을 복사하여 웹 브라우저에 붙여 넣으십시오:',
|
||||
'email_rights' => 'All rights reserved',
|
||||
];
|
34
resources/lang/kr/components.php
Normal file
34
resources/lang/kr/components.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
return [
|
||||
|
||||
/**
|
||||
* Image Manager
|
||||
*/
|
||||
'image_select' => '이미지 선택',
|
||||
'image_all' => '전체',
|
||||
'image_all_title' => '모든 이미지 보기',
|
||||
'image_book_title' => '이 책에 업로드된 이미지 보기',
|
||||
'image_page_title' => '이 페이지에 업로드된 이미지 보기',
|
||||
'image_search_hint' => '이미지 이름으로 검색',
|
||||
'image_uploaded' => ':uploadedDate에 업로드됨',
|
||||
'image_load_more' => '더 불러오기',
|
||||
'image_image_name' => '이미지 이름',
|
||||
'image_delete_used' => '이 이미지는 다음 페이지에서 이용되고 있습니다.',
|
||||
'image_delete_confirm' => '삭제해도 괜찮으시면 다시 삭제 버튼을 눌러주세요.',
|
||||
'image_select_image' => '선택',
|
||||
'image_dropzone' => '업로드를 위해 이미지를 가져와 놓거나 클릭하세요',
|
||||
'images_deleted' => '이미지 삭제',
|
||||
'image_preview' => '이미지 미리보기',
|
||||
'image_upload_success' => '이미지 업로드가 완료되었습니다.',
|
||||
'image_update_success' => '이미지 상세정보가 업데이트 되었습니다.',
|
||||
'image_delete_success' => '이미지가 삭제되었습니다.',
|
||||
'image_upload_remove' => '제거',
|
||||
|
||||
/**
|
||||
* Code editor
|
||||
*/
|
||||
'code_editor' => '코드 수정',
|
||||
'code_language' => '코드 언어',
|
||||
'code_content' => '코드 내용',
|
||||
'code_save' => '코드 저장',
|
||||
];
|
311
resources/lang/kr/entities.php
Normal file
311
resources/lang/kr/entities.php
Normal file
@ -0,0 +1,311 @@
|
||||
<?php
|
||||
return [
|
||||
|
||||
/**
|
||||
* Shared
|
||||
*/
|
||||
'recently_created' => '최근작성',
|
||||
'recently_created_pages' => '최근 작성된 페이지',
|
||||
'recently_updated_pages' => '최근 업데이트된 페이지',
|
||||
'recently_created_chapters' => '최근 만들어진 챕터',
|
||||
'recently_created_books' => '최근 만들어진 책',
|
||||
'recently_update' => '최근 작성',
|
||||
'recently_viewed' => '검색 기록',
|
||||
'recent_activity' => '최근 활동',
|
||||
'create_now' => '지금 만들기',
|
||||
'revisions' => '변경이력',
|
||||
'meta_revision' => '수정 #:revisionCount',
|
||||
'meta_created' => '작성: :timeLength',
|
||||
'meta_created_name' => '작성: :timeLength by :user',
|
||||
'meta_updated' => '업데이트 :timeLength',
|
||||
'meta_updated_name' => '업데이트 :timeLength by :user',
|
||||
'entity_select' => '엔티티선택',
|
||||
'images' => '이미지',
|
||||
'my_recent_drafts' => '내 최근 초안',
|
||||
'my_recently_viewed' => '검색 기록',
|
||||
'no_pages_viewed' => '조회한 페이지가 없습니다.',
|
||||
'no_pages_recently_created' => '최근 만들어진 페이지가 없습니다',
|
||||
'no_pages_recently_updated' => '최근 업데이트된 페이지가없습니다',
|
||||
'export' => '내보내기',
|
||||
'export_html' => 'html 내보내기',
|
||||
'export_pdf' => 'PDF 파일',
|
||||
'export_text' => '일반 텍스트 파일',
|
||||
|
||||
/**
|
||||
* Permissions and restrictions
|
||||
*/
|
||||
'permissions' => '권한',
|
||||
'permissions_intro' => '이 설정은 각 사용자의 역할보다 우선하여 적용됩니다.',
|
||||
'permissions_enable' => '커스텀 권한 활성화',
|
||||
'permissions_save' => '권한 저장',
|
||||
|
||||
/**
|
||||
* Search
|
||||
*/
|
||||
'search_results' => '검색 결과',
|
||||
'search_total_results_found' => ':count 개의 결과를 찾았습니다.|총 :count 개의 결과를 찾았습니다.',
|
||||
'search_clear' => '검색기록 초기화',
|
||||
'search_no_pages' => '검색결과가 없습니다.',
|
||||
'search_for_term' => ':term 을(를) 검색합니다.',
|
||||
'search_more' => '결과 더보기',
|
||||
'search_filters' => '검색 필터',
|
||||
'search_content_type' => '컨텐츠 타입',
|
||||
'search_exact_matches' => '정확히 일치합니다.',
|
||||
'search_tags' => '테그 검색',
|
||||
'search_options' => '설정',
|
||||
'search_viewed_by_me' => '내가본것',
|
||||
'search_not_viewed_by_me' => '내가안본것',
|
||||
'search_permissions_set' => '권한 설정',
|
||||
'search_created_by_me' => '내가 만듦',
|
||||
'search_updated_by_me' => '내가 업데이트함',
|
||||
'search_date_options' => '날짜 설정',
|
||||
'search_updated_before' => '이전에 업데이트함',
|
||||
'search_updated_after' => '이후에 업데이트함',
|
||||
'search_created_before' => '이전에 생성함',
|
||||
'search_created_after' => '이후에 생성함',
|
||||
'search_set_date' => '날짜 설정',
|
||||
'search_update' => '검색 업데이트',
|
||||
|
||||
/**
|
||||
* Shelves
|
||||
*/
|
||||
'shelf' => '책꽃이',
|
||||
'shelves' => '책꽃이',
|
||||
'shelves_long' => '책꽃이',
|
||||
'shelves_empty' => '책꽃이가 만들어지지 않았습니다.',
|
||||
'shelves_create' => '새책꽃이 만들기',
|
||||
'shelves_popular' => '인기있는 책꽃이',
|
||||
'shelves_new' => '새로운 책꽃이',
|
||||
'shelves_popular_empty' => '인기있는 책꽃이가 여기에 나타납니다.',
|
||||
'shelves_new_empty' => '가장 최근에 만들어진 책꽃이가 여기에 나타납니다.',
|
||||
'shelves_save' => '책꽃이 저장',
|
||||
'shelves_books' => '이 책꽃이에 있는 책',
|
||||
'shelves_add_books' => '이 책꽃이에 책을 추가합니다',
|
||||
'shelves_drag_books' => '이 책꽃이에 책을 추가하기 위해 끌어놓으세요.',
|
||||
'shelves_empty_contents' => '이책꽃이엔 등록된 책이 없습니다.',
|
||||
'shelves_edit_and_assign' => '책을 등록하기 위해 책꽃이를 수정',
|
||||
'shelves_edit_named' => ':name 책꽃이 수정',
|
||||
'shelves_edit' => '책꽃이 수정',
|
||||
'shelves_delete' => '책꽃이 삭제',
|
||||
'shelves_delete_named' => ':name 책꽃이를 삭제합니다.',
|
||||
'shelves_delete_explain' => "':name' 이름의 책꽃이가 삭제됩니다. 포함된 책은 삭제되지 않습니다.",
|
||||
'shelves_delete_confirmation' => '이 책꽃이를 삭제하시겠습니까?',
|
||||
'shelves_permissions' => '책꽃이 권한',
|
||||
'shelves_permissions_updated' => '책꽃이 권한이 업데이트 되었습니다.',
|
||||
'shelves_permissions_active' => '책꽃이 권한 활성화',
|
||||
'shelves_copy_permissions_to_books' => '책에 권한을 복사합니다.',
|
||||
'shelves_copy_permissions' => '권한 복사',
|
||||
'shelves_copy_permissions_explain' => '이 책꽂이의 현재 권한 설정이 안에 포함 된 모든 책에 적용됩니다. 활성화하기 전에이 책꽂이의 사용 권한이 변경되었는지 확인하십시오.',
|
||||
'shelves_copy_permission_success' => '책꽃이의 권한이 :count 개의 책에 복사되었습니다.',
|
||||
|
||||
/**
|
||||
* Books
|
||||
*/
|
||||
'book' => '책',
|
||||
'books' => '책들',
|
||||
'x_books' => ':count 책|:count 책들',
|
||||
'books_empty' => '책이 만들어지지 않았습니다.',
|
||||
'books_popular' => '인기있는 책',
|
||||
'books_recent' => '최근 책',
|
||||
'books_new' => '새로운 책',
|
||||
'books_popular_empty' => '가장 인기있는 책이 여기에 보입니다.',
|
||||
'books_new_empty' => '가장 최근에 만든 책이 여기에 표시됩니다.',
|
||||
'books_create' => '새로운 책 만들기',
|
||||
'books_delete' => '책 삭제하기',
|
||||
'books_delete_named' => ':bookName 책 삭제하기',
|
||||
'books_delete_explain' => '\':bookName\' 이름의 책이 삭제됩니다. 모든 페이지와 챕터가 삭제됩니다.',
|
||||
'books_delete_confirmation' => '이 책을 삭제 하시겠습니까?',
|
||||
'books_edit' => '책 수정',
|
||||
'books_edit_named' => ':bookName 책 수정',
|
||||
'books_form_book_name' => '책 이름',
|
||||
'books_save' => '책 저장',
|
||||
'books_permissions' => '책 권한',
|
||||
'books_permissions_updated' => '책 권한이 업데이트 되었습니다.',
|
||||
'books_empty_contents' => '이 책에 대한 페이지 또는 장이 작성되지 않았습니다.',
|
||||
'books_empty_create_page' => '새로운 페이지 만들기',
|
||||
'books_empty_or' => '또는',
|
||||
'books_empty_sort_current_book' => '현제 책 정렬하기',
|
||||
'books_empty_add_chapter' => '챕터 추가하기',
|
||||
'books_permissions_active' => '책 권한 활성화',
|
||||
'books_search_this' => '이책 찾기',
|
||||
'books_navigation' => '책 네비게이션',
|
||||
'books_sort' => '책 구성 정렬하기',
|
||||
'books_sort_named' => ':bookName 책 정렬하기',
|
||||
'books_sort_show_other' => '다른책 보기',
|
||||
'books_sort_save' => '새로운 순서 저장',
|
||||
|
||||
/**
|
||||
* Chapters
|
||||
*/
|
||||
'chapter' => '챕터',
|
||||
'chapters' => '챕터',
|
||||
'x_chapters' => ':count 개 챕터|:count 챔터들',
|
||||
'chapters_popular' => '인기있는 챕터',
|
||||
'chapters_new' => '새로운 챕처',
|
||||
'chapters_create' => '새로운 챕터 만들기',
|
||||
'chapters_delete' => '챕터 삭제',
|
||||
'chapters_delete_named' => ':chapterName 챕터 지우기',
|
||||
'chapters_delete_explain' => '\':chapterName\' 챕터를 지웁니다. 챕터에서 모든 페이지가 삭제되며 페이지가 상위 책에 추가됩니다.',
|
||||
'chapters_delete_confirm' => '정말로 챕터를 지우시겠습니따?',
|
||||
'chapters_edit' => '챕터 수정',
|
||||
'chapters_edit_named' => ':chapterName 챕터 수정',
|
||||
'chapters_save' => '챕터 저장',
|
||||
'chapters_move' => '챕터 이동',
|
||||
'chapters_move_named' => ':chapterName 챕터 이동',
|
||||
'chapter_move_success' => ':bookName 으로 챕터를 이동하였습니다.',
|
||||
'chapters_permissions' => '챕터 권한',
|
||||
'chapters_empty' => '챕터에 포함된 페이지가 없습니다.',
|
||||
'chapters_permissions_active' => '챕터 권한 활동',
|
||||
'chapters_permissions_success' => '챕터 권한 수정됨',
|
||||
'chapters_search_this' => '이 챕터 찾기',
|
||||
|
||||
/**
|
||||
* Pages
|
||||
*/
|
||||
'page' => '페이지',
|
||||
'pages' => '페이지들',
|
||||
'x_pages' => ':count 개의 페이지|:count 개의 페이지들',
|
||||
'pages_popular' => '인기있는 페이지',
|
||||
'pages_new' => '새로운 페이지',
|
||||
'pages_attachments' => '첨부파일',
|
||||
'pages_navigation' => '페이지 네비게이션',
|
||||
'pages_delete' => '페이지 지우기',
|
||||
'pages_delete_named' => ':pageName 페이지 지우기',
|
||||
'pages_delete_draft_named' => ':pageName 초안 페이지 지우기',
|
||||
'pages_delete_draft' => '초안 페이지 지우기',
|
||||
'pages_delete_success' => '페이지 삭제됨',
|
||||
'pages_delete_draft_success' => '초안페이지 삭제됨',
|
||||
'pages_delete_confirm' => '정말로 이 페이지를 지우시겠습니까?',
|
||||
'pages_delete_draft_confirm' => '정말로 초안페이지를 지우시겠습니까?',
|
||||
'pages_editing_named' => ':pageName 페이지 수정',
|
||||
'pages_edit_toggle_header' => '헤더 숨김/보이기',
|
||||
'pages_edit_save_draft' => '초안 저장',
|
||||
'pages_edit_draft' => '페이지 초안 수정',
|
||||
'pages_editing_draft' => '초안 수정중',
|
||||
'pages_editing_page' => '페이지 수정중',
|
||||
'pages_edit_draft_save_at' => '초안이 저장됨 ',
|
||||
'pages_edit_delete_draft' => '초안 삭제',
|
||||
'pages_edit_discard_draft' => '초안 버리기',
|
||||
'pages_edit_set_changelog' => '변경내역 남기기',
|
||||
'pages_edit_enter_changelog_desc' => '어떤 내용에 대하여 변경하셨나요?',
|
||||
'pages_edit_enter_changelog' => '변경내역 입력',
|
||||
'pages_save' => '페이지 저장',
|
||||
'pages_title' => '페이지 제목',
|
||||
'pages_name' => '페이지 이름',
|
||||
'pages_md_editor' => '편집자',
|
||||
'pages_md_preview' => 'Preview',
|
||||
'pages_md_insert_image' => '이미지 삽입',
|
||||
'pages_md_insert_link' => '전체링크 입력',
|
||||
'pages_md_insert_drawing' => '드로잉 넣기',
|
||||
'pages_not_in_chapter' => '페이지가 챕터에 있지않습니다.',
|
||||
'pages_move' => '페이지 옮기기',
|
||||
'pages_move_success' => '":parentName"로 페이지를 이동하였습니다.',
|
||||
'pages_copy' => '페이지 복사',
|
||||
'pages_copy_desination' => '경로(desination) 복사',
|
||||
'pages_copy_success' => '페이지가 성공적으로 복사되었습니다',
|
||||
'pages_permissions' => '페이지 권한',
|
||||
'pages_permissions_success' => '페이지 권한이 업데이트 되었습니다.',
|
||||
'pages_revision' => '변경이력',
|
||||
'pages_revisions' => '페이지 변경이력',
|
||||
'pages_revisions_named' => ':pageName페이지의 변경이력내역',
|
||||
'pages_revision_named' => ':pageName페이지의 변경이력',
|
||||
'pages_revisions_created_by' => 'Created By',
|
||||
'pages_revisions_date' => '변경일',
|
||||
'pages_revisions_number' => '#',
|
||||
'pages_revisions_changelog' => '변경내역',
|
||||
'pages_revisions_changes' => '변경사항 보기',
|
||||
'pages_revisions_current' => '현재 버전',
|
||||
'pages_revisions_preview' => '미리보기',
|
||||
'pages_revisions_restore' => '되돌리기',
|
||||
'pages_revisions_none' => '이 페이지에는 변경이력이 없습니다.',
|
||||
'pages_copy_link' => '링크복사',
|
||||
'pages_edit_content_link' => '링크 수정',
|
||||
'pages_permissions_active' => '페이지 권한 활성화',
|
||||
'pages_initial_revision' => '최초 작성',
|
||||
'pages_initial_name' => '새 페이지',
|
||||
'pages_editing_draft_notification' => ':timeDiff 전에 저장된 초안을 최근 편집하셨습니다.',
|
||||
'pages_draft_edited_notification' => '이 페이지는 그 이후로 업데이트되었습니다. 이 초안을 폐기하는 것이 좋습니다.',
|
||||
'pages_draft_edit_active' => [
|
||||
'start_a' => ':count명의 사용자가 이 페이지를 수정중입니다.',
|
||||
'start_b' => ':userName가(이) 페이지를 수정중입니다.',
|
||||
'time_a' => '페이지가 마지막으로 업데이트 된 이후',
|
||||
'time_b' => '지난 :minCount분 동안',
|
||||
'message' => ':start :time. 서로의 업데이트를 덮어 쓰지 않도록 주의하십시오!',
|
||||
],
|
||||
'pages_draft_discarded' => '초안이 삭제되었습니다. 편집기가 현재 페이지 작성자로 업데이트되었습니다.',
|
||||
'pages_specific' => '특정 페이지',
|
||||
|
||||
/**
|
||||
* Editor sidebar
|
||||
*/
|
||||
'page_tags' => '페이지 테그',
|
||||
'chapter_tags' => '챕터 테그',
|
||||
'book_tags' => '책 테그',
|
||||
'shelf_tags' => '책꽃이 테그',
|
||||
'tag' => '테그',
|
||||
'tags' => '테그들',
|
||||
'tag_value' => '테그 값 (선택사항)',
|
||||
'tags_explain' => "컨텐츠를 더 잘 분류하기 위해 테그를 추가하세요! \n 보다 상세한 구성을 위해 태그값을 할당 할 수 있습니다.",
|
||||
'tags_add' => '다른 테그 추가',
|
||||
'attachments' => '첨부',
|
||||
'attachments_explain' => '일부 파일을 업로드하거나 페이지에 표시 할 링크를 첨부하십시오. 페이지 사이드 바에 표시됩니다.',
|
||||
'attachments_explain_instant_save' => '변경 사항은 즉시 저장됩니다.',
|
||||
'attachments_items' => '첨부된 항목',
|
||||
'attachments_upload' => '차일 업로드',
|
||||
'attachments_link' => '링크 첨부',
|
||||
'attachments_set_link' => '링크 설정',
|
||||
'attachments_delete_confirm' => '삭제를 다시 클릭하면 첨부파일이 완전히 삭제됩니다.',
|
||||
'attachments_dropzone' => '파일 놓기 또는 여기를 클릭하여 파일 첨부',
|
||||
'attachments_no_files' => '업로드 된 파일이 없습니다.',
|
||||
'attachments_explain_link' => '파일을 업로드하지 않으려는 경우 링크를 첨부 할 수 있습니다. 이 링크는 다른 페이지에 대한 링크이거나 클라우드에있는 파일에 대한 링크 일 수 있습니다.',
|
||||
'attachments_link_name' => '링크 이름',
|
||||
'attachment_link' => '첨부 링크',
|
||||
'attachments_link_url' => '파일로 첨부',
|
||||
'attachments_link_url_hint' => 'Url, 사이트 또는 파일',
|
||||
'attach' => '첨부',
|
||||
'attachments_edit_file' => '파일 수정',
|
||||
'attachments_edit_file_name' => '파일이름',
|
||||
'attachments_edit_drop_upload' => '파일을 놓거나 여기를 클릭하여 업로드 및 덮어 쓰기',
|
||||
'attachments_order_updated' => '첨부 순서 업데이트',
|
||||
'attachments_updated_success' => '첨부파일 상세내용 업데이트 성공',
|
||||
'attachments_deleted' => '첨부파일 삭제',
|
||||
'attachments_file_uploaded' => '파일이 성공적으로 업로드 되었습니다.',
|
||||
'attachments_file_updated' => '파일이 성공적으로 업데이트 되었습니다.',
|
||||
'attachments_link_attached' => '링크가 성공적으로 페이지에 첨부되었습니다.',
|
||||
|
||||
/**
|
||||
* Profile View
|
||||
*/
|
||||
'profile_user_for_x' => ':time 전에 작성',
|
||||
'profile_created_content' => '생성한 컨텐츠',
|
||||
'profile_not_created_pages' => ':userName가 작성한 페이지가 없습니다.',
|
||||
'profile_not_created_chapters' => ':userName가 작성한 챕터가 없습니다.',
|
||||
'profile_not_created_books' => ':userName가 작성한 책이 없습니다.',
|
||||
|
||||
/**
|
||||
* Comments
|
||||
*/
|
||||
'comment' => '코멘트',
|
||||
'comments' => '코멘트들',
|
||||
'comment_add' => '코멘트 추가',
|
||||
'comment_placeholder' => '여기에 코멘트를 남기세요',
|
||||
'comment_count' => '{0} 코멘트 없음|{1} 1개 코멘트|[2,*] :count개의 코멘트',
|
||||
'comment_save' => '코멘트 저장',
|
||||
'comment_saving' => '코멘트 저장중...',
|
||||
'comment_deleting' => '코멘트 삭제중...',
|
||||
'comment_new' => '새로운 코멘트',
|
||||
'comment_created' => '코멘트를 작성하였습니다. :createDiff',
|
||||
'comment_updated' => ':username이 코멘트를 수정하였습니다 :updateDiff',
|
||||
'comment_deleted_success' => '코멘트 삭제성공',
|
||||
'comment_created_success' => '코멘트 추가성공',
|
||||
'comment_updated_success' => '코멘트 업데이트 성공',
|
||||
'comment_delete_confirm' => '정말로 코멘트를 지우시겠습니까?',
|
||||
'comment_in_reply_to' => ':commentId 응답',
|
||||
|
||||
/**
|
||||
* Revision
|
||||
*/
|
||||
'revision_delete_confirm' => '해당 개정판을 지우시겠습니까??',
|
||||
'revision_delete_success' => '개정판 삭제성공',
|
||||
'revision_cannot_delete_latest' => '최신버전은 지울수 없습니다.'
|
||||
];
|
83
resources/lang/kr/errors.php
Normal file
83
resources/lang/kr/errors.php
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/**
|
||||
* Error text strings.
|
||||
*/
|
||||
|
||||
// Permissions
|
||||
'permission' => '요청한 페이지에 권한이 없습니다.',
|
||||
'permissionJson' => '요청한 작업을 수행 할 권한이 없습니다.',
|
||||
|
||||
// Auth
|
||||
'error_user_exists_different_creds' => '전자 메일 :email을 가진 사용자가 이미 존재하지만 자격 증명이 다릅니다.',
|
||||
'email_already_confirmed' => '이메일이 이미 확인되었습니다. 로그인 해주세요.',
|
||||
'email_confirmation_invalid' => '이 확인 토큰이 유효하지 않거나 이미 사용되었습니다. 다시 등록하세요.',
|
||||
'email_confirmation_expired' => '확인 토큰이 만료되었습니다. 새 확인 이메일이 전송되었습니다.',
|
||||
'ldap_fail_anonymous' => '익명 바인드를 이용한 LDAP 액세스에 실패하였습니다.',
|
||||
'ldap_fail_authed' => '주어진 dn 및 비밀번호 세부 정보를 사용하여 LDAP 액세스하는 것이 실패했습니다.',
|
||||
'ldap_extension_not_installed' => 'LDAP PHP 확장기능이 설치되지 않았습니다.',
|
||||
'ldap_cannot_connect' => 'LDAP 서버에 연결할 수 없습니다. 초기 연결에 실패했습니다.',
|
||||
'social_no_action_defined' => '동작이 정의되지 않았습니다.',
|
||||
'social_login_bad_response' => ":socialAccount 로그인에 실패하였습니다 : \n:error",
|
||||
'social_account_in_use' => '이 :socialAccount 계정이 이미 사용 중입니다. :socialAccount 옵션을 통해 로그인하십시오.',
|
||||
'social_account_email_in_use' => ' 이메일 :email이 이미 사용 중입니다. 이미 계정이있는 경우 프로필 설정에서 :socialAccount 계정을 연결할 수 있습니다.',
|
||||
'social_account_existing' => ':socialAccount가 이미 프로필에 첨부되어 있습니다.',
|
||||
'social_account_already_used_existing' => '이 :socialAccount 계정은 이미 다른 사용자가 사용하고 있습니다.',
|
||||
'social_account_not_used' => '이 :socialAccount 계정이 모든 사용자에게 연결되어 있지 않습니다. 프로필 설정에 첨부하십시오. ',
|
||||
'social_account_register_instructions' => '아직 계정이없는 경우 :socialAccount 옵션을 사용하여 계정을 등록 할 수 있습니다.',
|
||||
'social_driver_not_found' => '소셜 드라이버를 찾을 수 없음',
|
||||
'social_driver_not_configured' => '귀하의 :socialAccount 소셜 설정이 올바르게 구성되지 않았습니다.',
|
||||
|
||||
// System
|
||||
'path_not_writable' => '파일 경로 :filePath에 업로드 할 수 없습니다. 서버에 쓰기 기능이 활성화 되어있는지 확인하세요.',
|
||||
'cannot_get_image_from_url' => ':url에서 이미지를 가져올 수 없습니다.',
|
||||
'cannot_create_thumbs' => '서버에서 썸네일을 생성할 수 없습니다. GD PHP확장기능이 설치되어있는지 확인하세요.',
|
||||
'server_upload_limit' => '해당 크기의 파일을 업로드하는것이 서버에서 제한됩니다. 파일 사이즈를 작게 줄이거나 서버 설정을 변경하세요.',
|
||||
'uploaded' => '해당 크기의 파일을 업로드하는것이 서버에서 제한됩니다. 파일 사이즈를 작게 줄이거나 서버 설정을 변경하세요.',
|
||||
'image_upload_error' => '이미지를 업로드하는 중에 오류가 발생했습니다.',
|
||||
'image_upload_type_error' => '업로드중인 이미지 유형이 잘못되었습니다.',
|
||||
|
||||
// Attachments
|
||||
'attachment_page_mismatch' => '첨부 파일 업데이트 중 페이지 불일치하였습니다.',
|
||||
'attachment_not_found' => '첨부 파일을 찾을 수 없습니다.',
|
||||
|
||||
// Pages
|
||||
'page_draft_autosave_fail' => '초안을 저장하지 못했습니다. 이 페이지를 저장하기 전에 인터넷에 연결되어 있는지 확인하십시오.',
|
||||
'page_custom_home_deletion' => '홈페이지로 설정되어있는 페이지는 삭제할 수 없습니다.',
|
||||
|
||||
// Entities
|
||||
'entity_not_found' => '개체(Entity)를 찾을 수 없음.',
|
||||
'bookshelf_not_found' => '책꽂이를 찾을 수 없음.',
|
||||
'book_not_found' => '책을 찾을 수 없음.',
|
||||
'page_not_found' => '페이지를 찾을 수 없음.',
|
||||
'chapter_not_found' => '챕터를 찾을 수 없음.',
|
||||
'selected_book_not_found' => '선택한 책을 찾을 수 없습니다.',
|
||||
'selected_book_chapter_not_found' => '선택한 책 또는 챕터를 찾을 수 없습니다.',
|
||||
'guests_cannot_save_drafts' => '게스트는 임시저장을 할 수 없습니다.',
|
||||
|
||||
// Users
|
||||
'users_cannot_delete_only_admin' => '어드민 계정은 삭제할 수 없습니다.',
|
||||
'users_cannot_delete_guest' => '게스트 사용자는 삭제할 수 없습니다.',
|
||||
|
||||
// Roles
|
||||
'role_cannot_be_edited' => '역할을 수정할 수 없습니다.',
|
||||
'role_system_cannot_be_deleted' => '이 역할은 시스템 역할입니다. 삭제할 수 없습니다.',
|
||||
'role_registration_default_cannot_delete' => '이 역할은 기본 등록 역할로 설정되어있는 동안 삭제할 수 없습니다.',
|
||||
|
||||
// Comments
|
||||
'comment_list' => '댓글을 가져 오는 중에 오류가 발생했습니다.',
|
||||
'cannot_add_comment_to_draft' => '초안에 주석을 추가 할 수 없습니다.',
|
||||
'comment_add' => '댓글을 추가 / 업데이트하는 중에 오류가 발생했습니다.',
|
||||
'comment_delete' => '댓글을 삭제하는 중에 오류가 발생했습니다.',
|
||||
'empty_comment' => '빈 주석을 추가 할 수 없습니다.',
|
||||
|
||||
// Error pages
|
||||
'404_page_not_found' => '페이지를 찾을 수 없습니다.',
|
||||
'sorry_page_not_found' => '죄송합니다, 찾고 있던 페이지를 찾을 수 없습니다.',
|
||||
'return_home' => 'home으로 가기',
|
||||
'error_occurred' => '오류가 발생하였습니다.',
|
||||
'app_down' => ':appName가 다운되었습니다.',
|
||||
'back_soon' => '곧 복구될 예정입니다.',
|
||||
];
|
19
resources/lang/kr/pagination.php
Normal file
19
resources/lang/kr/pagination.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« 이전',
|
||||
'next' => '다음 »',
|
||||
|
||||
];
|
22
resources/lang/kr/passwords.php
Normal file
22
resources/lang/kr/passwords.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reminder Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'password' => '비밀번호는 6자 이상이어야 하며 확인과 일치해야 합니다.',
|
||||
'user' => "해당 이메일 주소의 사용자가 없습니다.",
|
||||
'token' => '해당 비밀번호의 초기화 토큰이 만료되었습니다.',
|
||||
'sent' => '페스워드 초기화 링크를 메일로 보냈습니다!',
|
||||
'reset' => '비밀번호가 초기화 되었습니다!',
|
||||
|
||||
];
|
124
resources/lang/kr/settings.php
Executable file
124
resources/lang/kr/settings.php
Executable file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/**
|
||||
* Settings text strings
|
||||
* Contains all text strings used in the general settings sections of BookStack
|
||||
* including users and roles.
|
||||
*/
|
||||
|
||||
'settings' => '설정',
|
||||
'settings_save' => '설정 저장',
|
||||
'settings_save_success' => '설정이 저장되었습니다.',
|
||||
|
||||
/**
|
||||
* App settings
|
||||
*/
|
||||
|
||||
'app_settings' => '앱 설정',
|
||||
'app_name' => '어플리케이션 이름',
|
||||
'app_name_desc' => '해당 이름은 헤더와 모든 이메일에 표시됩니다.',
|
||||
'app_name_header' => '헤더에 어플리케이션 이름을 표시하시겠습니까?',
|
||||
'app_public_viewing' => '공개 보기를 허용하시겠습니까?',
|
||||
'app_secure_images' => '더 높은 보안 이미지 업로드를 사용하시겠습니까?',
|
||||
'app_secure_images_desc' => '성능상의 이유로 모든 이미지를 공개합니다. 해당 옵션은 이미지 URL 앞에 추측하기 어려운 임의의 문자열을 추가합니다. 간편한 접근을 방지하기 위해 디렉토리 색인을 비활성화하십시오.',
|
||||
'app_editor' => '페이지 에디터',
|
||||
'app_editor_desc' => '모든 사용자가 페이지를 편집하는데 사용할 에디터를 선택하십시오.',
|
||||
'app_custom_html' => '사용자 정의 HTML 헤드 컨텐츠',
|
||||
'app_custom_html_desc' => '여기에 추가된 모든 내용은 모든 페이지의 <head> 섹션 아래쪽에 삽입됩니다. 이는 스타일 오버라이딩이나 분석 코드 삽입에 편리합니다.',
|
||||
'app_logo' => '어플리케이션 로고',
|
||||
'app_logo_desc' => '해당 이미지는 반드시 높이가 43픽셀이어야 합니다. <br>대용량 이미지는 축소됩니다.',
|
||||
'app_primary_color' => '어플리케이션 기본 색상',
|
||||
'app_primary_color_desc' => '해당 값은 16진수이어야 합니다. <br>입력하지 않으면 기본 색상으로 재설정됩니다.',
|
||||
'app_homepage' => '어플리케이션 홈페이지',
|
||||
'app_homepage_desc' => '기본 화면 대신에 홈페이지에 표시할 화면을 선택하십시오. 선택된 페이지에서는 페이지 권한이 무시됩니다.',
|
||||
'app_homepage_select' => '페이지를 선택하십시오',
|
||||
'app_disable_comments' => '주석 비활성화',
|
||||
'app_disable_comments_desc' => '어플리케이션의 모든 페이지에서 주석을 비활성화합니다. 기존의 주석은 표시되지 않습니다.',
|
||||
/**
|
||||
* Registration settings
|
||||
*/
|
||||
'reg_settings' => '등록 설정',
|
||||
'reg_allow' => '등록을 허가하시겠습니까?',
|
||||
'reg_default_role' => '등록 후 기본 사용자 역할',
|
||||
'reg_confirm_email' => '이메일 확인을 요구하시겠습니까?',
|
||||
'reg_confirm_email_desc' => '도메인 제한이 사용되면 이메일 확인이 요구되며, 하단의 값은 무시됩니다.',
|
||||
'reg_confirm_restrict_domain' => '도메인 등록 제한',
|
||||
'reg_confirm_restrict_domain_desc' => '등록을 제한할 이메일 도메인의 목록을 쉼표로 구분하여 입력해주십시오. 사용자는 어플리케이션과의 상호작용을 허가받기 전에 이메일 주소를 확인하는 이메일을 받게 됩니다, <br> 등록이 완료된 후에는 이메일 주소를 변경할 수 있습니다.',
|
||||
'reg_confirm_restrict_domain_placeholder' => '제한 없음 설정',
|
||||
/**
|
||||
* Maintenance settings
|
||||
*/
|
||||
|
||||
'maint' => 'Maintenance',
|
||||
'maint_image_cleanup' => '이미지 정리',
|
||||
'maint_image_cleanup_desc' => "페이지를 스캔하여 현재 사용중인 이미지와 도면에서 수정된 내용 및 중복된 이미지를 확인합니다. 이를 실행하기 전에 전체 데이터베이스와 이미지의 백업을 작성했는지 확인하십시오.",
|
||||
'maint_image_cleanup_ignore_revisions' => '수정본의 이미지를 무시합니다.',
|
||||
'maint_image_cleanup_run' => '정리 실행',
|
||||
'maint_image_cleanup_warning' => '잠재적으로 사용되지 않는 이미지를 찾았습니다. 해당 이미지들을 삭제하시겠습니까?',
|
||||
'maint_image_cleanup_success' => ':잠재적으로 사용되지 않는 이미지들이 삭제되었습니다.',
|
||||
'maint_image_cleanup_nothing_found' => '사용되지 않는 이미지를 찾을 수 없습니다. 아무것도 삭제되지 않았습니다.',
|
||||
/**
|
||||
* Role settings
|
||||
*/
|
||||
'roles' => '역할',
|
||||
'role_user_roles' => '사용자 역할',
|
||||
'role_create' => '신규 역할 생성',
|
||||
'role_create_success' => '역할이 생성되었습니다.',
|
||||
'role_delete' => '역할을 삭제합니다.',
|
||||
'role_delete_confirm' => '\':roleName\'(이)라는 이름의 역할이 삭제됩니다.',
|
||||
'role_delete_users_assigned' => '해당 역할에 :userCount 명의 사용자가 할당되어 있습니다. 이 역할로부터 사용자를 재할당하고 싶다면 아래에서 새 역할을 선택하십시오.',
|
||||
'role_delete_no_migration' => "사용자 재배치 안함",
|
||||
'role_delete_sure' => '이 역할을 삭제하시겠습니까?',
|
||||
'role_delete_success' => '역할이 삭제되었습니다.',
|
||||
'role_edit' => '역할 편집',
|
||||
'role_details' => '역할 상세정보',
|
||||
'role_name' => '역할명',
|
||||
'role_desc' => '역할에 대한 간략한 설명',
|
||||
'role_external_auth_id' => '외부 인증 ID',
|
||||
'role_system' => '시스템 권한',
|
||||
'role_manage_users' => '사용자 관리',
|
||||
'role_manage_roles' => '역할 및 역할 권한 관리',
|
||||
'role_manage_entity_permissions' => '모든 책, 챕터, 페이지 관리',
|
||||
'role_manage_own_entity_permissions' => '보유한 책, 챕터, 페이지에 대한 권한 관리',
|
||||
'role_manage_settings' => '어플리케이선 설정 관리',
|
||||
'role_asset' => '자산 관리',
|
||||
'role_asset_desc' => '해당 권한들은 시스템 내의 Assets 파일에 대한 기본적인 접근을 제어합니다.',
|
||||
'role_asset_admins' => '관리자는 모든 컨텐츠에 대한 접근 권한을 자동으로 부여받지만, 해당 옵션들은 UI 옵션을 표시하거나 숨길 수 있습니다.',
|
||||
'role_all' => '전체',
|
||||
'role_own' => '보유한 것만',
|
||||
'role_controlled_by_asset' => '업로드된 Assets 파일에 의해 제어됩니다.',
|
||||
'role_save' => '역할 저장',
|
||||
'role_update_success' => '역할이 업데이트되었습니다.',
|
||||
'role_users' => '해당 역할의 사용자',
|
||||
'role_users_none' => '현재 이 역할에 할당된 사용자가 없습니다.',
|
||||
/**
|
||||
* Users
|
||||
*/
|
||||
'users' => '사용자',
|
||||
'user_profile' => '사용자 프로필',
|
||||
'users_add_new' => '사용자 추가',
|
||||
'users_search' => '사용자 검색',
|
||||
'users_role' => '사용자 역할',
|
||||
'users_external_auth_id' => '외부 인증 ID',
|
||||
'users_password_warning' => '비밀번호를 변경하시려면 다음을 입력하십시오:',
|
||||
'users_system_public' => '이 사용자는 당신의 인스턴스를 방문하는 게스트 사용자를 나타냅니다. 로그인하는 데는 사용할 수 없지만 자동으로 할당됩니다.',
|
||||
'users_delete' => '사용자 삭제',
|
||||
'users_delete_named' => '사용자 :userName 삭제',
|
||||
'users_delete_warning' => '시스템에서 \':userName\'(이)라는 사용자가 완전히 삭제됩니다.',
|
||||
'users_delete_confirm' => '이 사용자를 삭제하시겠습니까?',
|
||||
'users_delete_success' => '사용자가 삭제되었습니다.',
|
||||
'users_edit' => '사용자 편집',
|
||||
'users_edit_profile' => '프로필 편집',
|
||||
'users_edit_success' => '사용자가 업데이트되었습니다.',
|
||||
'users_avatar' => '사용자 아바타',
|
||||
'users_avatar_desc' => '해당 이미지는 256픽셀의 정사각형 이미지여야합니다.',
|
||||
'users_preferred_language' => '선호하는 언어',
|
||||
'users_social_accounts' => '소셜 계정',
|
||||
'users_social_accounts_info' => '여기에서 다른 계정을 연결하여 더 빠르고 쉽게 로그인할 수 있습니다. 여기에서 계정 연결을 해제하면 이전에 승인된 접근이 제공되지 않습니다 연결된 소셜 계정의 프로필 설정에서 접근 권한을 취소하십시오.',
|
||||
'users_social_connect' => '계정 연결',
|
||||
'users_social_disconnect' => '계정 연결 해제',
|
||||
'users_social_connected' => ':socialAccount 계정이 당신의 프로필에 연결되었습니다.',
|
||||
'users_social_disconnected' => ':socialAccount 계정이 당신의 프로필에서 연결해제되었습니다.',
|
||||
];
|
108
resources/lang/kr/validation.php
Normal file
108
resources/lang/kr/validation.php
Normal file
@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => ':attribute가 반드시 허용되어야 합니다.',
|
||||
'active_url' => ':attribute가 올바른 URL이 아닙니다.',
|
||||
'after' => ':attribute는 :date이후 날짜여야 합니다.',
|
||||
'alpha' => ':attribute는 문자만 포함해야 합니다.',
|
||||
'alpha_dash' => ':attribute는 문자, 숫자, 대시만 포함해야 합니다.',
|
||||
'alpha_num' => ':attribute는 문자와 숫자만 포함됩니다.',
|
||||
'array' => ':attribute는 배열이어야 합니다.',
|
||||
'before' => ':attribute는 :date이전 날짜여야 합니다.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute는 반드시 :min이상 :max이하여야 합니다.',
|
||||
'file' => ':attribute는 반드시 :min이상 :max kilobytes이하여야 합니다.',
|
||||
'string' => ':attribute는 반드시 :min이상 :max 문자 이하여야 합니다.',
|
||||
'array' => ':attribute는 반드시 :min이상 :max이하 항목이어야 합니다.',
|
||||
],
|
||||
'boolean' => ':attribute 는 true혹은 false값만 가능합니다.',
|
||||
'confirmed' => ':attribute 확인이 일치하지 않습니다.',
|
||||
'date' => ':attribute 는 잘못된 날짜입니다.',
|
||||
'date_format' => ':attribute 이 :format 포멧과 일치하지 않습니다.',
|
||||
'different' => ':attribute 와 :other는 반드시 달라야 합니다.',
|
||||
'digits' => ':attribute 는 반드시 :digits 숫자(digit)여야 합니다.',
|
||||
'digits_between' => ':attribute 는 반드시 :min이상 :max이하 숫자여야 합니다.',
|
||||
'email' => ':attribute 는 반드시 이메일 이어야 합니다.',
|
||||
'filled' => ':attribute 항목이 꼭 필요합니다.',
|
||||
'exists' => '선택된 :attribute 은(는) 사용 불가합니다.',
|
||||
'image' => ':attribute 는 반드시 이미지여야 합니다.',
|
||||
'in' => '선택된 :attribute 은(는) 사용 불가합니다.',
|
||||
'integer' => ':attribute 는 반드시(integer)여야 합니다.',
|
||||
'ip' => ':attribute 는 반드시 IP주소 여야 합니다.',
|
||||
'max' => [
|
||||
'numeric' => ':attribute :max 보다 크면 안됩니다.',
|
||||
'file' => ':attribute :max kilobytes보다 크면 안됩니다.',
|
||||
'string' => ':attribute :max 문자보다 길면 안됩니다.',
|
||||
'array' => ':attribute :max 를 초과하면 안됩니다.',
|
||||
],
|
||||
'mimes' => ':attribute 은(는) 반드시 :values 타입이어야 합니다.',
|
||||
'min' => [
|
||||
'numeric' => ':attribute 은(는) 최소한 :min 이어야 합니다.',
|
||||
'file' => ':attribute 은(는) 최소한 :min kilobytes여야 합니다.',
|
||||
'string' => ':attribute 은(는) 최소한 :min 개 문자여야 합니다.',
|
||||
'array' => ':attribute 은(는) 적어도 :min 개의 항목이어야 합니다.',
|
||||
],
|
||||
'not_in' => '선택된 :attribute 는 사용할 수 없습니다',
|
||||
'numeric' => ':attribute 반드시 숫자여야 합니다.',
|
||||
'regex' => ':attribute 포멧이 잘못되었습니다.',
|
||||
'required' => ':attribute 항목은 필수입니다..',
|
||||
'required_if' => ':attribute 은(는) :other 가 :value 일때 필수항목입니다.',
|
||||
'required_with' => ':attribute 은(는) :values 가 있을때 필수항목입니다.',
|
||||
'required_with_all' => ':attribute 은(는) :values 가 있을때 필수항목입니다.',
|
||||
'required_without' => ':attribute 은(는) :values 가 없을때 필수항목입니다.',
|
||||
'required_without_all' => ':attribute 은(는) :values 가 전혀 없을때 필수항목입니다.',
|
||||
'same' => ':attribute 와 :other 은(는) 반드시 일치해야합니다.',
|
||||
'size' => [
|
||||
'numeric' => ':attribute 은(는) :size 여야합니다.',
|
||||
'file' => ':attribute 은(는) :size kilobytes여야합니다.',
|
||||
'string' => ':attribute 은(는) :size 문자여야합니다.',
|
||||
'array' => ':attribute 은(는) :size 개 항목을 포함해야 합니다.',
|
||||
],
|
||||
'string' => ':attribute 문자열이어야 합니다.',
|
||||
'timezone' => ':attribute 정상적인 지역(zone)이어야 합니다.',
|
||||
'unique' => ':attribute 은(는) 이미 사용중입니다..',
|
||||
'url' => ':attribute 포멧이 사용 불가합니다.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'password-confirm' => [
|
||||
'required_with' => '비밀번호 확인이 필요합니다.',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap attribute place-holders
|
||||
| with something more reader friendly such as E-Mail Address instead
|
||||
| of "email". This simply helps us make messages a little cleaner.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
@ -37,6 +37,14 @@ return [
|
||||
'book_sort' => 'livro classificado',
|
||||
'book_sort_notification' => 'Livro reclassificado com sucesso',
|
||||
|
||||
// Bookshelves
|
||||
'bookshelf_create' => 'prateleira de livros criada',
|
||||
'bookshelf_create_notification' => 'Prateleira de Livros criada com sucesso',
|
||||
'bookshelf_update' => 'prateleira de livros atualizada',
|
||||
'bookshelf_update_notification' => 'Prateleira de Livros atualizada com sucesso',
|
||||
'bookshelf_delete' => 'prateleira de livros excluída',
|
||||
'bookshelf_delete_notification' => 'Prateleira de Livros excluída com sucesso',
|
||||
|
||||
// Other
|
||||
'commented_on' => 'comentou em',
|
||||
];
|
||||
|
@ -52,6 +52,7 @@ return [
|
||||
'details' => 'Detalhes',
|
||||
'grid_view' => 'Visualização em Grade',
|
||||
'list_view' => 'Visualização em Lista',
|
||||
'default' => 'Padrão',
|
||||
|
||||
/**
|
||||
* Header
|
||||
|
@ -52,11 +52,13 @@ return [
|
||||
'search_content_type' => 'Tipo de Conteúdo',
|
||||
'search_exact_matches' => 'Correspondências Exatas',
|
||||
'search_tags' => 'Tags',
|
||||
'search_options' => 'Opções',
|
||||
'search_viewed_by_me' => 'Visto por mim',
|
||||
'search_not_viewed_by_me' => 'Não visto por mim',
|
||||
'search_permissions_set' => 'Permissão definida',
|
||||
'search_created_by_me' => 'Criado por mim',
|
||||
'search_updated_by_me' => 'Atualizado por mim',
|
||||
'search_date_options' => 'Opções de Data',
|
||||
'search_updated_before' => 'Atualizado antes de',
|
||||
'search_updated_after' => 'Atualizado depois de',
|
||||
'search_created_before' => 'Criado antes de',
|
||||
@ -64,6 +66,38 @@ return [
|
||||
'search_set_date' => 'Definir data',
|
||||
'search_update' => 'Refazer Pesquisa',
|
||||
|
||||
/**
|
||||
* Shelves
|
||||
*/
|
||||
'shelf' => 'Prateleira',
|
||||
'shelves' => 'Prateleiras',
|
||||
'shelves_long' => 'Prateleiras de Livros',
|
||||
'shelves_empty' => 'Nenhuma prateleira foi criada',
|
||||
'shelves_create' => 'Criar nova Prateleira',
|
||||
'shelves_popular' => 'Prateleiras populares',
|
||||
'shelves_new' => 'Prateleiras novas',
|
||||
'shelves_popular_empty' => 'As prateleiras mais populares aparecerão aqui.',
|
||||
'shelves_new_empty' => 'As prateleiras criadas mais recentemente aparecerão aqui.',
|
||||
'shelves_save' => 'Salvar Prateleira',
|
||||
'shelves_books' => 'Livros nesta prateleira',
|
||||
'shelves_add_books' => 'Adicionar livros a esta prateleira',
|
||||
'shelves_drag_books' => 'Arraste livros aqui para adicioná-los a esta prateleira',
|
||||
'shelves_empty_contents' => 'Esta prateleira não possui livros atribuídos a ela',
|
||||
'shelves_edit_and_assign' => 'Edit shelf to assign books',
|
||||
'shelves_edit_named' => 'Editar Prateleira de Livros :name',
|
||||
'shelves_edit' => 'Edit Prateleira de Livros',
|
||||
'shelves_delete' => 'Excluir Prateleira de Livros',
|
||||
'shelves_delete_named' => 'Excluir Prateleira de Livros :name',
|
||||
'shelves_delete_explain' => "A ação vai excluír a prateleira de livros com o nome ':name'. Livros contidos não serão excluídos",
|
||||
'shelves_delete_confirmation' => 'Você tem certeza que quer excluir esta prateleira de livros?',
|
||||
'shelves_permissions' => 'Permissões da Prateleira de Livros',
|
||||
'shelves_permissions_updated' => 'Permissões da Prateleira de Livros Atualizada',
|
||||
'shelves_permissions_active' => 'Permissões da Prateleira de Livros Ativadas',
|
||||
'shelves_copy_permissions_to_books' => 'Copiar Permissões para Livros',
|
||||
'shelves_copy_permissions' => 'Copiar Permissões',
|
||||
'shelves_copy_permissions_explain' => 'Isto aplicará as configurações de permissões atuais desta prateleira de livros a todos os livros contidos nela. Antes de ativar, assegure-se de que quaisquer alterações nas permissões desta prateleira de livros tenham sido salvas.',
|
||||
'shelves_copy_permission_success' => 'Permissões da prateleira de livros copiada para :count livros',
|
||||
|
||||
/**
|
||||
* Books
|
||||
*/
|
||||
@ -199,6 +233,7 @@ return [
|
||||
'message' => ':start :time. Tome cuidado para não sobrescrever atualizações de outras pessoas!',
|
||||
],
|
||||
'pages_draft_discarded' => 'Rascunho descartado. O editor foi atualizado com a página atualizada',
|
||||
'pages_specific' => 'Página Específica',
|
||||
|
||||
/**
|
||||
* Editor sidebar
|
||||
@ -206,6 +241,7 @@ return [
|
||||
'page_tags' => 'Tags de Página',
|
||||
'chapter_tags' => 'Tags de Capítulo',
|
||||
'book_tags' => 'Tags de Livro',
|
||||
'shelf_tags' => 'Tags de Prateleira',
|
||||
'tag' => 'Tag',
|
||||
'tags' => '',
|
||||
'tag_value' => 'Valor da Tag (Opcional)',
|
||||
|
@ -49,6 +49,7 @@ return [
|
||||
|
||||
// Entities
|
||||
'entity_not_found' => 'Entidade não encontrada',
|
||||
'bookshelf_not_found' => 'Prateleira de Livros não encontrada',
|
||||
'book_not_found' => 'Livro não encontrado',
|
||||
'page_not_found' => 'Página não encontrada',
|
||||
'chapter_not_found' => 'Capítulo não encontrado',
|
||||
|
@ -33,9 +33,8 @@ return [
|
||||
'app_primary_color_desc' => 'Esse valor deverá ser Hexadecimal. <br>Deixe em branco para que o Bookstack assuma a cor padrão.',
|
||||
'app_homepage' => 'Página incial',
|
||||
'app_homepage_desc' => 'Selecione a página para ser usada como página inicial em vez da padrão. Permissões da página serão ignoradas.',
|
||||
'app_homepage_default' => 'Escolhida página inicial padrão',
|
||||
'app_homepage_select' => 'Selecione uma página',
|
||||
'app_disable_comments' => 'Desativar comentários',
|
||||
'app_homepage_books' => 'Ou selecione a página de livros como sua página inicial. Isso substituirá qualquer página selecionada como sua página inicial.',
|
||||
'app_disable_comments_desc' => 'Desativar comentários em todas as páginas no aplicativo. Os comentários existentes não são exibidos.',
|
||||
|
||||
/**
|
||||
@ -91,6 +90,7 @@ return [
|
||||
'role_manage_settings' => 'Gerenciar configurações de app',
|
||||
'role_asset' => 'Permissões de Ativos',
|
||||
'role_asset_desc' => 'Essas permissões controlam o acesso padrão para os ativos dentro do sistema. Permissões em Livros, Capítulos e Páginas serão sobrescritas por essas permissões.',
|
||||
'role_asset_admins' => 'Administradores recebem automaticamente acesso a todo o conteúdo, mas essas opções podem mostrar ou ocultar as opções da UI.',
|
||||
'role_all' => 'Todos',
|
||||
'role_own' => 'Próprio',
|
||||
'role_controlled_by_asset' => 'Controlado pelos ativos que você fez upload',
|
||||
@ -111,7 +111,6 @@ return [
|
||||
'users_external_auth_id' => 'ID de Autenticação Externa',
|
||||
'users_password_warning' => 'Preencha os dados abaixo caso queira modificar a sua senha:',
|
||||
'users_system_public' => 'Esse usuário representa quaisquer convidados que visitam o aplicativo. Ele não pode ser usado para login.',
|
||||
'users_books_view_type' => 'Layout preferido para mostrar livros',
|
||||
'users_delete' => 'Excluir Usuário',
|
||||
'users_delete_named' => 'Excluir :userName',
|
||||
'users_delete_warning' => 'A ação vai excluir completamente o usuário de nome \':userName\' do sistema.',
|
||||
|
@ -36,6 +36,14 @@ return [
|
||||
'book_delete_notification' => '图书已删除成功',
|
||||
'book_sort' => '排序了图书',
|
||||
'book_sort_notification' => '图书已重新排序成功',
|
||||
|
||||
// Bookshelves
|
||||
'bookshelf_create' => '创建了书架',
|
||||
'bookshelf_create_notification' => '书架已成功创建',
|
||||
'bookshelf_update' => '更新了书架',
|
||||
'bookshelf_update_notification' => '书架已成功更新',
|
||||
'bookshelf_delete' => '删除了书架',
|
||||
'bookshelf_delete_notification' => '书架已成功删除',
|
||||
|
||||
// Other
|
||||
'commented_on' => '评论',
|
||||
|
@ -15,7 +15,7 @@ return [
|
||||
/**
|
||||
* Form Labels
|
||||
*/
|
||||
'name' => '姓名',
|
||||
'name' => '名称',
|
||||
'description' => '概要',
|
||||
'role' => '角色',
|
||||
'cover_image' => '封面图片',
|
||||
@ -25,12 +25,13 @@ return [
|
||||
* Actions
|
||||
*/
|
||||
'actions' => '操作',
|
||||
'view' => '视图',
|
||||
'view' => '浏览',
|
||||
'create' => '创建',
|
||||
'update' => '更新',
|
||||
'edit' => '编辑',
|
||||
'sort' => '排序',
|
||||
'move' => '移动',
|
||||
'copy' => '复制',
|
||||
'reply' => '回复',
|
||||
'delete' => '删除',
|
||||
'search' => '搜索',
|
||||
@ -49,7 +50,10 @@ return [
|
||||
'toggle_details' => '显示/隐藏详细信息',
|
||||
'toggle_thumbnails' => '显示/隐藏缩略图',
|
||||
'details' => '详细信息',
|
||||
|
||||
'grid_view' => '网格视图',
|
||||
'list_view' => '列表视图',
|
||||
'default' => '默认',
|
||||
|
||||
/**
|
||||
* Header
|
||||
*/
|
||||
|
@ -22,6 +22,7 @@ return [
|
||||
'image_upload_success' => '图片上传成功',
|
||||
'image_update_success' => '图片详细信息更新成功',
|
||||
'image_delete_success' => '图片删除成功',
|
||||
'image_upload_remove' => '去掉',
|
||||
|
||||
/**
|
||||
* Code editor
|
||||
@ -30,4 +31,4 @@ return [
|
||||
'code_language' => '编程语言',
|
||||
'code_content' => '代码内容',
|
||||
'code_save' => '保存代码',
|
||||
];
|
||||
];
|
||||
|
@ -52,11 +52,13 @@ return [
|
||||
'search_content_type' => '种类',
|
||||
'search_exact_matches' => '精确匹配',
|
||||
'search_tags' => '标签搜索',
|
||||
'search_options' => '选项',
|
||||
'search_viewed_by_me' => '我看过的',
|
||||
'search_not_viewed_by_me' => '我没看过的',
|
||||
'search_permissions_set' => '权限设置',
|
||||
'search_created_by_me' => '我创建的',
|
||||
'search_updated_by_me' => '我更新的',
|
||||
'search_date_options' => '日期选项',
|
||||
'search_updated_before' => '在此之前更新',
|
||||
'search_updated_after' => '在此之后更新',
|
||||
'search_created_before' => '在此之前创建',
|
||||
@ -64,6 +66,38 @@ return [
|
||||
'search_set_date' => '设置日期',
|
||||
'search_update' => '只显示更新操作',
|
||||
|
||||
/**
|
||||
* Shelves
|
||||
*/
|
||||
'shelf' => '书架',
|
||||
'shelves' => '书架',
|
||||
'shelves_long' => '书架',
|
||||
'shelves_empty' => '当前未创建书架',
|
||||
'shelves_create' => '创建新书架',
|
||||
'shelves_popular' => '热门书架',
|
||||
'shelves_new' => '新书架',
|
||||
'shelves_popular_empty' => '最热门的书架',
|
||||
'shelves_new_empty' => '最新创建的书架',
|
||||
'shelves_save' => '保存书架',
|
||||
'shelves_books' => '书籍已在此书架里',
|
||||
'shelves_add_books' => '将书籍加入此书架',
|
||||
'shelves_drag_books' => '拖动图书将其添加到此书架',
|
||||
'shelves_empty_contents' => '这个书架没有分配图书',
|
||||
'shelves_edit_and_assign' => '编辑书架以分配图书',
|
||||
'shelves_edit_named' => '编辑书架 :name',
|
||||
'shelves_edit' => '编辑书架',
|
||||
'shelves_delete' => '删除书架',
|
||||
'shelves_delete_named' => '删除书架 :name',
|
||||
'shelves_delete_explain' => "此操作将删除书架 ':name'。 其中包含的图书不会被删除。",
|
||||
'shelves_delete_confirmation' => '您确定要删除此书架吗?',
|
||||
'shelves_permissions' => '书架权限',
|
||||
'shelves_permissions_updated' => '书架权限已更新',
|
||||
'shelves_permissions_active' => '书架权限激活',
|
||||
'shelves_copy_permissions_to_books' => '将权限复制到图书',
|
||||
'shelves_copy_permissions' => '复制权限',
|
||||
'shelves_copy_permissions_explain' => '这会将此书架的当前权限设置应用于其中包含的所有图书。 在激活之前,请确保已保存对此书架权限的任何更改。',
|
||||
'shelves_copy_permission_success' => '书架权限复制到图书 :count ',
|
||||
|
||||
/**
|
||||
* Books
|
||||
*/
|
||||
@ -162,9 +196,13 @@ return [
|
||||
'pages_md_preview' => '预览',
|
||||
'pages_md_insert_image' => '插入图片',
|
||||
'pages_md_insert_link' => '插入实体链接',
|
||||
'pages_md_insert_drawing' => '插入图表',
|
||||
'pages_not_in_chapter' => '本页面不在某章节中',
|
||||
'pages_move' => '移动页面',
|
||||
'pages_move_success' => '页面已移动到「:parentName」',
|
||||
'pages_copy' => '复制页面',
|
||||
'pages_copy_desination' => '复制目的地',
|
||||
'pages_copy_success' => '页面复制完成',
|
||||
'pages_permissions' => '页面权限',
|
||||
'pages_permissions_success' => '页面权限已更新',
|
||||
'pages_revision' => '修订',
|
||||
@ -195,13 +233,17 @@ return [
|
||||
'message' => ':time,:start。注意不要覆盖对方的更新!',
|
||||
],
|
||||
'pages_draft_discarded' => '草稿已丢弃,编辑器已更新到当前页面内容。',
|
||||
'pages_specific' => '具体页面',
|
||||
|
||||
/**
|
||||
* Editor sidebar
|
||||
*/
|
||||
'page_tags' => '页面标签',
|
||||
'chapter_tags' => '章节标签',
|
||||
'book_tags' => '图书标签',
|
||||
'shelf_tags' => '书架标签',
|
||||
'tag' => '标签',
|
||||
'tags' => '',
|
||||
'tags' => '标签',
|
||||
'tag_value' => '标签值 (Optional)',
|
||||
'tags_explain' => "添加一些标签以更好地对您的内容进行分类。\n您可以为标签分配一个值,以进行更深入的组织。",
|
||||
'tags_add' => '添加另一个标签',
|
||||
@ -245,6 +287,7 @@ return [
|
||||
*/
|
||||
'comment' => '评论',
|
||||
'comments' => '评论',
|
||||
'comment_add' => '添加评论',
|
||||
'comment_placeholder' => '在这里评论',
|
||||
'comment_count' => '{0} 无评论|[1,*] :count条评论',
|
||||
'comment_save' => '保存评论',
|
||||
|
@ -34,11 +34,14 @@ return [
|
||||
'path_not_writable' => '无法上传到文件路径“:filePath”,请确保它可写入服务器。',
|
||||
'cannot_get_image_from_url' => '无法从 :url 中获取图片',
|
||||
'cannot_create_thumbs' => '服务器无法创建缩略图,请检查您是否安装了GD PHP扩展。',
|
||||
'server_upload_limit' => '上传图片时发生错误。',
|
||||
'server_upload_limit' => '服务器不允许上传此大小的文件。 请尝试较小的文件。',
|
||||
'uploaded' => 'The server does not allow uploads of this size. Please try a smaller file size.',
|
||||
'image_upload_error' => '上传图片时发生错误',
|
||||
'image_upload_type_error' => '上传的图像类型无效',
|
||||
|
||||
// Attachments
|
||||
'attachment_page_mismatch' => '附件更新期间的页面不匹配',
|
||||
'attachment_not_found' => '找不到附件',
|
||||
|
||||
// Pages
|
||||
'page_draft_autosave_fail' => '无法保存草稿,确保您在保存页面之前已经连接到互联网',
|
||||
@ -46,6 +49,7 @@ return [
|
||||
|
||||
// Entities
|
||||
'entity_not_found' => '未找到实体',
|
||||
'bookshelf_not_found' => '未找到书架',
|
||||
'book_not_found' => '未找到图书',
|
||||
'page_not_found' => '未找到页面',
|
||||
'chapter_not_found' => '未找到章节',
|
||||
@ -76,4 +80,4 @@ return [
|
||||
'error_occurred' => '出现错误',
|
||||
'app_down' => ':appName现在正在关闭',
|
||||
'back_soon' => '请耐心等待网站的恢复。',
|
||||
];
|
||||
];
|
||||
|
@ -81,6 +81,7 @@ return [
|
||||
'role_details' => '角色详细信息',
|
||||
'role_name' => '角色名',
|
||||
'role_desc' => '角色简述',
|
||||
'role_external_auth_id' => '外部身份认证ID',
|
||||
'role_system' => '系统权限',
|
||||
'role_manage_users' => '管理用户',
|
||||
'role_manage_roles' => '管理角色与角色权限',
|
||||
@ -89,6 +90,7 @@ return [
|
||||
'role_manage_settings' => '管理App设置',
|
||||
'role_asset' => '资源许可',
|
||||
'role_asset_desc' => '对系统内资源的默认访问许可将由这些权限控制。单独设置在书籍,章节和页面上的权限将覆盖这里的权限设定。',
|
||||
'role_asset_admins' => '管理员可自动获得对所有内容的访问权限,但这些选项可能会显示或隐藏UI选项。',
|
||||
'role_all' => '全部的',
|
||||
'role_own' => '拥有的',
|
||||
'role_controlled_by_asset' => '由其所在的资源来控制',
|
||||
@ -109,7 +111,6 @@ return [
|
||||
'users_external_auth_id' => '外部身份认证ID',
|
||||
'users_password_warning' => '如果您想更改密码,请填写以下内容:',
|
||||
'users_system_public' => '此用户代表访问您的App的任何访客。它不能用于登录,而是自动分配。',
|
||||
'users_books_view_type' => '图书浏览布局偏好',
|
||||
'users_delete' => '删除用户',
|
||||
'users_delete_named' => '删除用户 :userName',
|
||||
'users_delete_warning' => '这将从系统中完全删除名为 \':userName\' 的用户。',
|
||||
|
@ -37,6 +37,14 @@ return [
|
||||
'book_sort' => '排序了圖書',
|
||||
'book_sort_notification' => '圖書已重新排序成功',
|
||||
|
||||
// Bookshelves
|
||||
'bookshelf_create' => '建立了書架',
|
||||
'bookshelf_create_notification' => '書架已建立成功',
|
||||
'bookshelf_update' => '更新了書架',
|
||||
'bookshelf_update_notification' => '書架已更新成功',
|
||||
'bookshelf_delete' => '刪除了書架',
|
||||
'bookshelf_delete_notification' => '書架已刪除成功',
|
||||
|
||||
// Other
|
||||
'commented_on' => '評論',
|
||||
];
|
||||
|
@ -20,7 +20,7 @@ return [
|
||||
'role' => '角色',
|
||||
'cover_image' => '封面圖片',
|
||||
'cover_image_description' => '所使用圖片大小必須是440x250px。',
|
||||
|
||||
|
||||
/**
|
||||
* Actions
|
||||
*/
|
||||
@ -31,7 +31,8 @@ return [
|
||||
'edit' => '編輯',
|
||||
'sort' => '排序',
|
||||
'move' => '移動',
|
||||
'reply' => '回複',
|
||||
'copy' => '複製',
|
||||
'reply' => '回覆',
|
||||
'delete' => '刪除',
|
||||
'search' => '搜尋',
|
||||
'search_clear' => '清除搜尋',
|
||||
@ -51,6 +52,7 @@ return [
|
||||
'details' => '詳細資訊',
|
||||
'grid_view' => '縮圖檢視',
|
||||
'list_view' => '清單撿視',
|
||||
'default' => '預設',
|
||||
|
||||
/**
|
||||
* Header
|
||||
|
@ -22,6 +22,7 @@ return [
|
||||
'image_upload_success' => '圖片上傳成功',
|
||||
'image_update_success' => '圖片詳細資訊更新成功',
|
||||
'image_delete_success' => '圖片刪除成功',
|
||||
'image_upload_remove' => '移除',
|
||||
|
||||
/**
|
||||
* Code editor
|
||||
@ -30,4 +31,4 @@ return [
|
||||
'code_language' => '程式語言',
|
||||
'code_content' => '程式碼內容',
|
||||
'code_save' => '儲存程式碼',
|
||||
];
|
||||
];
|
||||
|
@ -52,11 +52,13 @@ return [
|
||||
'search_content_type' => '種類',
|
||||
'search_exact_matches' => '精確符合',
|
||||
'search_tags' => '標籤搜尋',
|
||||
'search_options' => '選項',
|
||||
'search_viewed_by_me' => '我看過的',
|
||||
'search_not_viewed_by_me' => '我沒看過的',
|
||||
'search_permissions_set' => '權限設定',
|
||||
'search_created_by_me' => '我建立的',
|
||||
'search_updated_by_me' => '我更新的',
|
||||
'search_date_options' => '日期選項',
|
||||
'search_updated_before' => '在此之前更新',
|
||||
'search_updated_after' => '在此之後更新',
|
||||
'search_created_before' => '在此之前建立',
|
||||
@ -64,6 +66,38 @@ return [
|
||||
'search_set_date' => '設定日期',
|
||||
'search_update' => '更新搜尋結果',
|
||||
|
||||
/**
|
||||
* Shelves
|
||||
*/
|
||||
'shelf' => '書架',
|
||||
'shelves' => '書架',
|
||||
'shelves_long' => '書架',
|
||||
'shelves_empty' => '不存在已建立的書架',
|
||||
'shelves_create' => '建立書架',
|
||||
'shelves_popular' => '熱門書架',
|
||||
'shelves_new' => '新書架',
|
||||
'shelves_popular_empty' => '最受歡迎的書架將出現在這裡。',
|
||||
'shelves_new_empty' => '最近建立的書架將出現在這裡。',
|
||||
'shelves_save' => '儲存書架',
|
||||
'shelves_books' => '此書架上的書本',
|
||||
'shelves_add_books' => '將書本添加到此書架中',
|
||||
'shelves_drag_books' => '拖動書本到此處來將它添加至此書架中',
|
||||
'shelves_empty_contents' => '此書架沒有分配任何書本',
|
||||
'shelves_edit_and_assign' => '編輯書架以分配書本',
|
||||
'shelves_edit_named' => '編輯書架「:name」',
|
||||
'shelves_edit' => '編輯書架',
|
||||
'shelves_delete' => '刪除書架',
|
||||
'shelves_delete_named' => '刪除書架「:name」',
|
||||
'shelves_delete_explain' => "這將刪除名為「:name」的書架。包含在其中的書本不會被刪除。",
|
||||
'shelves_delete_confirmation' => '您確定要刪除此書架嗎?',
|
||||
'shelves_permissions' => '書架權限',
|
||||
'shelves_permissions_updated' => '書架權限已更新',
|
||||
'shelves_permissions_active' => '已啟用此書架的自訂權限',
|
||||
'shelves_copy_permissions_to_books' => '將權限複製到書本',
|
||||
'shelves_copy_permissions' => '複製權限',
|
||||
'shelves_copy_permissions_explain' => '這會將此書架目前的權限設定套用到所有包含的書本上。在生效之前,請確認您已儲存任何對此書架權限的變更。',
|
||||
'shelves_copy_permission_success' => '已將書架的權限複製到:count本書上',
|
||||
|
||||
/**
|
||||
* Books
|
||||
*/
|
||||
@ -92,7 +126,7 @@ return [
|
||||
'books_empty_or' => '或',
|
||||
'books_empty_sort_current_book' => '排序目前書本',
|
||||
'books_empty_add_chapter' => '加入章節',
|
||||
'books_permissions_active' => '有效的書本權限',
|
||||
'books_permissions_active' => '已啟用此書本的自訂權限',
|
||||
'books_search_this' => '搜尋這本書',
|
||||
'books_navigation' => '書本導覽',
|
||||
'books_sort' => '排序書本內容',
|
||||
@ -121,7 +155,7 @@ return [
|
||||
'chapter_move_success' => '章節移動到「:bookName」',
|
||||
'chapters_permissions' => '章節權限',
|
||||
'chapters_empty' => '本章目前沒有頁面。',
|
||||
'chapters_permissions_active' => '有效的章節權限',
|
||||
'chapters_permissions_active' => '已啟用此章節的自訂權限',
|
||||
'chapters_permissions_success' => '章節權限已更新',
|
||||
'chapters_search_this' => '從本章節搜尋',
|
||||
|
||||
@ -166,6 +200,9 @@ return [
|
||||
'pages_not_in_chapter' => '本頁面不在某章節中',
|
||||
'pages_move' => '移動頁面',
|
||||
'pages_move_success' => '頁面已移動到「:parentName」',
|
||||
'pages_copy' => '複製頁面',
|
||||
'pages_copy_desination' => '複製的目的地',
|
||||
'pages_copy_success' => '頁面已成功複製',
|
||||
'pages_permissions' => '頁面權限',
|
||||
'pages_permissions_success' => '頁面權限已更新',
|
||||
'pages_revision' => '修訂',
|
||||
@ -183,7 +220,7 @@ return [
|
||||
'pages_revisions_none' => '此頁面沒有修訂',
|
||||
'pages_copy_link' => '複製連結',
|
||||
'pages_edit_content_link' => '编辑内容',
|
||||
'pages_permissions_active' => '有效的頁面權限',
|
||||
'pages_permissions_active' => '已啟用此頁面的自訂權限',
|
||||
'pages_initial_revision' => '初次發布',
|
||||
'pages_initial_name' => '新頁面',
|
||||
'pages_editing_draft_notification' => '您正在編輯在 :timeDiff 內儲存的草稿.',
|
||||
@ -196,11 +233,15 @@ return [
|
||||
'message' => ':time,:start。注意不要覆蓋到對方的更新。',
|
||||
],
|
||||
'pages_draft_discarded' => '草稿已丟棄,編輯器已更新到目前頁面內容。',
|
||||
'pages_specific' => '指定頁面',
|
||||
|
||||
/**
|
||||
* Editor sidebar
|
||||
*/
|
||||
'page_tags' => '頁面標籤',
|
||||
'chapter_tags' => '章節標籤',
|
||||
'book_tags' => '書本標籤',
|
||||
'shelf_tags' => '書架標籤',
|
||||
'tag' => '標籤',
|
||||
'tags' => '',
|
||||
'tag_value' => '標籤值 (非必要)',
|
||||
@ -246,6 +287,7 @@ return [
|
||||
*/
|
||||
'comment' => '評論',
|
||||
'comments' => '評論',
|
||||
'comment_add' => '新增評論',
|
||||
'comment_placeholder' => '在這裡評論',
|
||||
'comment_count' => '{0} 無評論|[1,*] :count條評論',
|
||||
'comment_save' => '儲存評論',
|
||||
|
@ -34,7 +34,8 @@ return [
|
||||
'path_not_writable' => '無法上傳到檔案路徑“:filePath”,請確保它可寫入伺服器。',
|
||||
'cannot_get_image_from_url' => '無法從 :url 中獲取圖片',
|
||||
'cannot_create_thumbs' => '伺服器無法建立縮圖,請檢查您是否安裝了GD PHP外掛。',
|
||||
'server_upload_limit' => '上傳圖片時發生錯誤。',
|
||||
'server_upload_limit' => '上傳的檔案大小超過伺服器允許上限。請嘗試較小的檔案。',
|
||||
'uploaded' => '上傳的檔案大小超過伺服器允許上限。請嘗試較小的檔案。',
|
||||
'image_upload_error' => '上傳圖片時發生錯誤',
|
||||
'image_upload_type_error' => '上傳圖片類型錯誤',
|
||||
|
||||
@ -48,6 +49,7 @@ return [
|
||||
|
||||
// Entities
|
||||
'entity_not_found' => '未找到實體',
|
||||
'bookshelf_not_found' => '未找到書架',
|
||||
'book_not_found' => '未找到圖書',
|
||||
'page_not_found' => '未找到頁面',
|
||||
'chapter_not_found' => '未找到章節',
|
||||
@ -78,4 +80,4 @@ return [
|
||||
'error_occurred' => '發生錯誤',
|
||||
'app_down' => ':appName現在正在關閉',
|
||||
'back_soon' => '請耐心等待網站的恢複。',
|
||||
];
|
||||
];
|
||||
|
@ -33,7 +33,7 @@ return [
|
||||
'app_primary_color_desc' => '請使用十六進位數值。<br>保留空白則重置回預設配色。',
|
||||
'app_homepage' => 'App首頁',
|
||||
'app_homepage_desc' => '選擇要做為首頁的頁面,這將會替換預設首頁,而且這個頁面的權限設定將被忽略。',
|
||||
'app_homepage_default' => '預設首頁選擇',
|
||||
'app_homepage_select' => '預設首頁選擇',
|
||||
'app_disable_comments' => '關閉評論',
|
||||
'app_disable_comments_desc' => '在App的所有頁面上關閉評論,已經存在的評論也不會顯示。',
|
||||
|
||||
@ -81,6 +81,7 @@ return [
|
||||
'role_details' => '角色詳細資訊',
|
||||
'role_name' => '角色名',
|
||||
'role_desc' => '角色簡述',
|
||||
'role_external_auth_id' => '外部身份驗證ID',
|
||||
'role_system' => '系統權限',
|
||||
'role_manage_users' => '管理使用者',
|
||||
'role_manage_roles' => '管理角色與角色權限',
|
||||
@ -89,6 +90,7 @@ return [
|
||||
'role_manage_settings' => '管理App設定',
|
||||
'role_asset' => '資源項目',
|
||||
'role_asset_desc' => '對系統內資源的預設權限將由這裡的權限控制。若有單獨設定在書本、章節和頁面上的權限,將會覆蓋這裡的權限設定。',
|
||||
'role_asset_admins' => '管理員會自動獲得對所有內容的存取權限,但這些選項可能會顯示或隱藏UI的選項。',
|
||||
'role_all' => '全部',
|
||||
'role_own' => '擁有',
|
||||
'role_controlled_by_asset' => '依據隸屬的資源來決定',
|
||||
@ -109,7 +111,6 @@ return [
|
||||
'users_external_auth_id' => '外部身份驗證ID',
|
||||
'users_password_warning' => '如果您想更改密碼,請填寫以下內容:',
|
||||
'users_system_public' => '此使用者代表進入您的App的任何訪客。它不能用於登入,而是自動分配。',
|
||||
//'users_books_view_type' => '圖書瀏覽佈局偏好',
|
||||
'users_delete' => '刪除使用者',
|
||||
'users_delete_named' => '刪除使用者 :userName',
|
||||
'users_delete_warning' => '這將從系統中完全刪除名為 \':userName\' 的使用者。',
|
||||
|
@ -148,4 +148,12 @@ class SocialAuthTest extends TestCase
|
||||
$this->assertDatabaseHas('social_accounts', ['user_id' => $user->id]);
|
||||
}
|
||||
|
||||
public function test_google_select_account_option_changes_redirect_url()
|
||||
{
|
||||
config()->set('services.google.select_account', 'true');
|
||||
|
||||
$resp = $this->get('/login/service/google');
|
||||
$this->assertContains('prompt=select_account', $resp->headers->get('Location'));
|
||||
}
|
||||
|
||||
}
|
||||
|
19
tests/HelpersTest.php
Normal file
19
tests/HelpersTest.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php namespace Tests;
|
||||
|
||||
class HelpersTest extends TestCase
|
||||
{
|
||||
|
||||
public function test_base_url_takes_config_into_account()
|
||||
{
|
||||
config()->set('app.url', 'http://example.com/bookstack');
|
||||
$result = baseUrl('/');
|
||||
$this->assertEquals('http://example.com/bookstack/', $result);
|
||||
}
|
||||
|
||||
public function test_base_url_takes_extra_path_into_account_on_forced_domain()
|
||||
{
|
||||
config()->set('app.url', 'http://example.com/bookstack');
|
||||
$result = baseUrl('http://example.com/bookstack/', true);
|
||||
$this->assertEquals('http://example.com/bookstack/', $result);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user