Compare commits

..
1 Commits
Author SHA1 Message Date
lealife 290772b437 init index 2016-05-30 11:51:41 +08:00
27 changed files with 559 additions and 1184 deletions

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
language: go
go: 1.4
go: 1.3
services:
- mongodb # 2.4.12
+64 -88
View File
@@ -5,83 +5,66 @@
## 1. Introduction
Leanote, not just a notepad!
Leanote, Not Just A Notepad!
![leanote.png](leanote.png "")
**Highlighted Features**
**Some Features**
* Note-taking made easy: Leanote incorporates a clean and intuitive interface, the `tinymce` rich-text editor and a dedicated *markdown* editor, making your writing/typing more efficient and enjoyable. For more advanced users, we even offer `Vim` and `Emacs` writing modes to help boost your writing speed to another level.
* Knowledge management: The flexible and versatile notebook-note-tagging system of Leanote makes it an ideal tool for knowledge management.
* Sharing: Share your knowledge, thoughts and experiences with friends via Leanote. Invite your friends to join your notepad in the cloud.
* Cooperating: Collaborate with colleagues to improve skills, fertilize ideas and brainstorm on the fly.
* Blogging: Publish your work and make Leanote your personal blog.
* Knowledge: Manage your knowledge in Leanote. Leanote contains the tinymce editor and a markdown editor, just enjoy yourself writing.
* Share: Share your knowledge with your friends in Leanote. You can invite your friends to join your notepad in the cloud so you can share knowledge.
* Cooperation: Collaborate with friends to improve your skills.
* Blog: Publish your knowledge and make Leanote your blog.
**Other Features**
* Markdown syntax support
* Distraction-free writing mode
* `Vim` and `Emacs` editing mode
* Export notes to PDFs
* Batch note operation
* Customizable themes for blogging
* Support Markdown
* Writting mode
* Export note to PDF
* Note batch operation
* Custom theme for blog
## 2. Why we create Leanote
We have been using the popular note-taking software/service `Evernote` as our knowledge management tool on a daily basis. Benefited from and inspired by `Evernote`, we decided to create a brand-new tool that provides everything `Evernote` has to offer, plus a bunch of new features that `Evernote` failed to deliver, such as:
* A more powerful editor: `Evernote`'s editor lacks the functionalities of **document navigation**, **syntax based code rendering** (as a programmer, syntax highlighted code rendering is a necessity), **image resizing** and so forth.
* Everybody loves *markdown*, however `Evernote` simply wouldn't add it despite of years' of requests from users. So we will do the favor and bring a *markdown* enabled editor to you, guess what, it is also rendered in real-time!
* If you a developer and miss the `Vim` or `Emacs` ways of writing, we offer you the choice of `Vim` and `Emacs` editting modes. Equipped with *markdown* syntax for text formatting, you will never need to touch your mouse while writing.
* We love managing knowledge and thoughts as much as sharing them, so everybody has their own note account (`Evernote`, `Onenote`, `Google doc`, `Wiz note` etc.) and social media account (`Facebook`, `Wordpress`, blogs, etc.). But why can’t those two be one? Leanote makes this first step to bridge the private note-taking and public knowledge sharing seamlessly.
* A complete and all-platform (sorry Windows phone) covering software suite: that includes Leanote Web & Server (this repository), [Desktop app](https://github.com/leanote/desktop-app), [iOS](https://github.com/leanote/leanote-ios), [Android](https://github.com/leanote/leanote-android). And they are all open source!
## 2. Why we created Leanote
To be honest, our inspiration comes from Evernote. We use Evernote to manage our knowledge everyday. But we find that:
* Evernote's editor can't meet our needs, it does not have document navigation, it does not render code properly (as a programmer, syntax highlighted code rendering is a basic need), it cannot resize images and so forth
* We like markdown, but Evernote does not support it.
* We want to share our knowledge, so all of us have our blogs (e.g. on Wordpress) and our Evernote accounts, but why can not those two be one!
* ......
## 3. How to get Leanote
## 3. How to install Leanote
The Leanote software suite contains: Leanote Web & Server (this repository), [Desktop app](https://github.com/leanote/desktop-app), [iOS](https://github.com/leanote/leanote-ios), [Android](https://github.com/leanote/leanote-android).
Leanote contains: Leanote Web & Server (this repository), [Desktop app](https://github.com/leanote/desktop-app), [iOS](https://github.com/leanote/leanote-ios), [Android](https://github.com/leanote/leanote-android). And all the products are open source!
Interested in our product and want to try it out from your web browser? Welcome to sign up on https://leanote.com.
You can install Leanote on your server, and use Leanote App (Desktop, iOs, Android) to sync notes with your self-hosted server.
Feeling suspicious about how those note-taking companies treat your personal data? You can install Leanote on your server, and use Leanote App (Desktop, iOS, Android) to sync notes with your self-hosted server.
Welcome to sign up on https://leanote.com, Leanote team provide a stable and reliable service for you.
More information about how to install Leanote please see:
* Leanote binary installation tutorial:
* [Windows](https://github.com/leanote/leanote/wiki/leanote-source-installation-on-Windows-(En))
* [Mac and Linux](https://github.com/leanote/leanote/wiki/leanote-binary-installation-on-Mac-and-Linux-(En))
* Leanote source installation tutorial:
* [Windows](https://github.com/leanote/leanote/wiki/leanote-source-installation-on-Windows-(En))
* [Mac and Linux](https://github.com/leanote/leanote/wiki/Leanote-source-installation-on-Mac-and-Linux-(En))
* [Leanote binary installation tutorial](https://github.com/leanote/leanote/wiki/leanote-binary-distribution-installation-tutorial)
* [Leanote source installation tutorial](https://github.com/leanote/leanote/wiki/leanote-source-installation-tutorial)
## 4. Documentation
## 4. How to develop Leanote
Please see [wiki](https://github.com/leanote/leanote/wiki) for detailed instruction on how to install Leanote on various platforms, trouble shooting and configuration explanations.
Please see [How-to-develop-leanote](https://github.com/leanote/leanote/wiki/How-to-develop-leanote-%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91leanote)
## 5. Docs
## 5. How to develop Leanote
Please see [wiki](https://github.com/leanote/leanote/wiki).
If you are a developer yourself and feel like to build on top of Leanote, please refer to [How-to-develop-leanote](https://github.com/leanote/leanote/wiki/How-to-develop-leanote-%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91leanote).
## 6. Contributors
Thank you to all the [contributors](https://github.com/leanote/leanote/graphs/contributors) on
this project. Your help is much appreciated.
## 7.Join us
## 6. Contributions
Please fork this repository and contribute back using [pull requests](https://github.com/leanote/leanote/pulls).
Like or dislike Leanote, please leave your comments and suggestions to help us improve it.
If you encounter any issue, we suggest you first do a search in the issues section to see whether a solution already exists, or open up a new one otherwise.
We’d like to acknowledge the contributions made by our [developers and contributors](https://github.com/leanote/leanote/graphs/contributors) to
this project. Leanote won’t exist without your hard work. Your help is much appreciated.
## 7. Join us
Please feel free to fork this repository and contribute back using [pull requests](https://github.com/leanote/leanote/pulls).
If you find any problems or have any good ideas, feature requests, please submit here [issues](https://github.com/leanote/leanote/issues).
If you find some problems or has some good ideas, please submit [issues](https://github.com/leanote/leanote/issues).
You are always welcomed!
## 8. Donation
If you like our product, consider supporting us via [donate us](http://leanote.org/#donate).
We acknowledge the donations make by all the [donators](http://leanote.leanote.com/post/leanote-donation-list).
Support us, [donate us](http://leanote.org/#donate). And thanks [donators](http://leanote.leanote.com/post/leanote-donation-list).
## 9. Related projects
@@ -91,12 +74,12 @@ We acknowledge the donations make by all the [donators](http://leanote.leanote.c
You are welcome to join us.
## 10. Contacts
## 9. Support & Join us
* Email: leanote@leanote.com
* [Leanote BBS](http://bbs.leanote.com)
* [Leanote Google Group](https://groups.google.com/forum/#!forum/leanote)
* QQ Groups: 326073529, 256076853, 158716820
* QQ Group: 326073529, 256076853, 158716820
-----------------------------------------------------------------------
@@ -108,71 +91,64 @@ Leanote, 不只是笔记!
**特性**
* 高效笔记:Leanote 有易操作的界面, 包含一款富文本编辑器和Markdown编辑器,让您的笔记记录更轻松和高效。对高阶用户,我们还提供`Vim` 和`Emacs` 编辑模式,助推你的写作速度更上层楼。
* 知识管理: Leanote 灵活而强大的“笔记本-笔记-标签”系统,让它成为你个人知识管理的利器。
* 分享: 你可以通过Leanote同好友分享知识、想法和经历, 邀请好友加入你的笔记簿,通过云端交流信息。
* 协作: Leanote协助你与同事之间相互协作,激荡新思路,随时随地头脑风暴。
* 博客: Leanote也可以作为你的个人博客, 把你的知识传播的更远!
* 知识管理: 通过Leanote来管理知识, Leanote有易操作的界面, 包含两款编辑器富文本编辑器和Markdown编辑器. 在Leanote, 你可以尽情享受写作.
* 博客: Leanote也可以作为你的博客, 将知识公开成博客, 让Leanote把你的知识传播的更远!
* 分享: 你也可以通过分享知识给好友, 让好友拥有你的知识.
* 协作: 在分享的同时也可以与好友一起协作知识.
**其它特性**
**一些其它特性**
* 支持Markdown编辑
* 写作模式
* `Vim` 及 `Emacs` 编辑模式
* 支持PDF导出
* 支持批量操作
* 博客自定义主题, 实现高度定制化
## 2. 为什么我们要创建Leanote?
我们都曾是`Evernote`的忠实粉丝, 一直以来`Evernote`都是我们日常知识管理的有效工具。于是我们决定重新创造一款工具,提供`Evernote`所能提供的功能,同时弥补`Evernote`的不足,比如:
* 功能更强的文本编辑器:`Evernote`的编辑器不能满足我们的需求, 不能实现文档导航、不能贴代码(格式会乱掉, 作为程序员, 代码是我们的基本需求啊), 图片不能缩放等。
* `Evernote` 不支持所有人都喜爱的markdown语法,于是我们为Leanote配备了一款可以实时渲染的markdown编辑器。
* 如果你是一名开发者,觉得手指怀念`Vim` 或 `Emacs` 了,那么我们还提供给你`Vim` 和 `Emacs` 写作模式,配合*markdown*的格式编辑,写作的时候再也不用去碰鼠标了。
* 知识积累和知识分享同样重要,因此大家都有自己的笔记账号和社交账号。但为什么这两者不能合二为一呢? Leanote 做到了将二者无缝衔接。
* 一套完整的、全平台覆盖的软件套装,包括了web、桌面、安卓、IOS设备,而且全部开源!
说实话, 我们曾是evernote的忠实粉丝, 但是我们也发现evernote的不足:
* evernote的编辑器不能满足我们的需求, 不能贴代码(格式会乱掉, 作为程序员, 代码是我们的基本需求啊), 图片不能缩放.
* 我们是markdown的爱好者, 可是evernote竟然没有.
* 我们也想将知识公开, 所以我们有自己的博客, 如wordpress, 但为什么这两者不能合二为一呢?
* 还有...
## 3. 获取Leanote
## 3.安装Leanote
Leanote云笔记产品包括: Leanote Web & Server(即本仓库), 桌面客户端, IOS, android. 4端全部开源!
Leanote云笔记产品包括: Leanote Web & Server(即本仓库), 桌面客户端, ios, android. 4端全部开源! 你可以下载它安装在自己的服务器上, Leanote的客户端可以连接自建的服务.
如果想试用我们的产品,欢迎在 https://leanote.com 上注册, Leanote团队为你提供稳定可靠的服务。
担心服务厂商如何处理你的个人数据吗?你可以下载Leanote安装在自己的服务器上, 通过Leanote客户端连接与自建服务同步数据。
欢迎在 https://leanote.com 上注册, Leanote团队为你提供稳定可靠的服务.
这里详细整理了Leanote二进版和Leanote开发版的安装教程, 请移步至:
* Leanote二进制详细安装教程:
* [Windows](https://github.com/leanote/leanote/wiki/Leanote%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B---Windows)
* [Mac, Linux](https://github.com/leanote/leanote/wiki/leanote%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
* Leanote源码详细安装教程:
* [Windows](https://github.com/leanote/leanote/wiki/Leanote-%E6%BA%90%E7%A0%81%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B----Windows)
* [Mac, Linux](https://github.com/leanote/leanote/wiki/leanote%E5%BC%80%E5%8F%91%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
* [Leanote二进制详细安装教程](https://github.com/leanote/leanote/wiki/leanote%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
* [Leanote源码详细安装教程](https://github.com/leanote/leanote/wiki/leanote%E5%BC%80%E5%8F%91%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
## 4. 相关文档
## 4. 如何对Leanote进行二次开发
更多详细的安装说明、问题处理和配置说明文档,请查看 [wiki](https://github.com/leanote/leanote/wiki)。
请查看 [How-to-develop-Leanote](https://github.com/leanote/leanote/wiki/How-to-develop-leanote-%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91leanote)
## 5. 如何对Leanote进行二次开发
## 5 相关文档
* [Leanote二进制版详细安装教程](https://github.com/leanote/leanote/wiki/leanote%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
* [Leanote源码详细安装教程](https://github.com/leanote/leanote/wiki/leanote%E5%BC%80%E5%8F%91%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
* [Leanote source Leanote源码导读](https://github.com/leanote/leanote/wiki/Leanote-source-leanote源码导读)
* [Leanote blog theme api(中文版)](https://github.com/leanote/leanote/wiki/leanote-blog-theme-api)
* [How to develop leanote 如何开发Leanote](https://github.com/leanote/leanote/wiki/How-to-develop-leanote-如何开发leanote)
如果您有兴趣基于Leanote二次开发,请查看 [How-to-develop-Leanote](https://github.com/leanote/leanote/wiki/How-to-develop-leanote-%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91leanote)。
更多文档请查看 [wiki](https://github.com/leanote/leanote/wiki).
## 6. 贡献者
在此对向Leanote贡献力量的[贡献者们](https://github.com/leanote/leanote/graphs/contributors) 表示感谢。Leanote因有你们而更完美!
谢谢 [贡献者](https://github.com/leanote/leanote/graphs/contributors) 的贡献, Leanote因有你们而更完美!
## 7. 加入我们
欢迎提交[pull requests](https://github.com/leanote/leanote/pulls) 到Leanote。
欢迎提交[pull requests](https://github.com/leanote/leanote/pulls) 到Leanote.
有任何问题或建议, 请先搜索[issue](https://github.com/leanote/leanote/issues)区是否已经有解决方法。如果没有,欢迎提交新issue。
有任何问题或建议, 欢迎提交[issue](https://github.com/leanote/leanote/issues).
Leanote还有很多问题, 如果你喜欢它, 欢迎加入我们一起完善Leanote。
Leanote还有很多问题, 如果你喜欢它, 欢迎加入我们一起完善Leanote.
## 8. 捐赠
如果您喜欢我们的产品,请考虑支持我们, [捐赠Leanote](http://leanote.org/#donate)。
感谢[这些捐赠者](http://leanote.leanote.com/post/leanote-donation-list), 谢谢你们的鼓励, Leanote会一直坚持!
支持我们, [捐赠Leanote](http://leanote.org/#donate). 感谢[捐赠者](http://leanote.leanote.com/post/leanote-donation-list), 谢谢你们的鼓励, Leanote会一直坚持!
## 9. 其它相关项目
* [Leanote Desktop App](https://github.com/leanote/desktop-app), [下载地址](http://app.leanote.com)
+210
View File
@@ -166,6 +166,216 @@ func Init(url, dbname string) {
// session
Sessions = Session.DB(dbname).C("sessions")
collectionNames, err := Session.DB(dbname).CollectionNames()
// 如果没有表, 则表示是第一次安装
if (err != nil || len(collectionNames) == 0) {
Log("init db index")
initIndex(dbname)
}
}
func initIndex(dbname string) {
// 索引
indexes := map[string][]mgo.Index{
"notebooks": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"notes": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
mgo.Index{
Key: []string{"IsTrash"},
Background: true,
},
mgo.Index{
Key: []string{"UrlTitle"},
Background: true,
},
mgo.Index{
Key: []string{"IsBlog"},
Background: true,
},
mgo.Index{
Key: []string{"CreatedTime"},
Background: true,
},
mgo.Index{
Key: []string{"UpdatedTime"},
Background: true,
},
mgo.Index{
Key: []string{"PublicTime"},
Background: true,
},
mgo.Index{
Key: []string{"RecommendTime"},
Background: true,
},
mgo.Index{
Key: []string{"NotebookId"},
Background: true,
},
mgo.Index{
Key: []string{"UserId", "IsBlog"},
Background: true,
},
},
"note_contents": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"note_content_histories": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"share_notes": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
mgo.Index{
Key: []string{"ToUserId"},
Background: true,
},
},
"share_notebooks": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
mgo.Index{
Key: []string{"ToUserId"},
Background: true,
},
},
"has_share_notes": []mgo.Index{
mgo.Index{
Key: []string{"UserId", "ToUserId"},
Background: true,
Unique: true,
},
},
"users": []mgo.Index{
mgo.Index{
Key: []string{"Email"},
Background: true,
},
mgo.Index{
Key: []string{"Username"},
Background: true,
},
},
"groups": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"group_users": []mgo.Index{
mgo.Index{
Key: []string{"GroupId"},
Background: true,
},
},
"tags": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"note_tags": []mgo.Index{
mgo.Index{
Key: []string{"UserId", "TagId"},
Background: true,
},
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"tag_count": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"blog_singles": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"blog_likes": []mgo.Index{
mgo.Index{
Key: []string{"NoteId"},
Background: true,
},
},
"blog_comments": []mgo.Index{
mgo.Index{
Key: []string{"NoteId"},
Background: true,
},
},
"themes": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"note_images": []mgo.Index{
mgo.Index{
Key: []string{"ImageId"},
Background: true,
},
mgo.Index{
Key: []string{"NoteId"},
Background: true,
},
},
"albums": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"files": []mgo.Index{
mgo.Index{
Key: []string{"UserId"},
Background: true,
},
},
"attachs": []mgo.Index{
mgo.Index{
Key: []string{"NoteId"},
Background: true,
},
},
"sessions": []mgo.Index{
mgo.Index{
Key: []string{"SessionId"},
Background: true,
},
},
}
for collection, ins := range indexes {
col := Session.DB(dbname).C(collection)
for _, in := range ins {
col.EnsureIndex(in)
}
}
}
func close() {
+2 -10
View File
@@ -6,16 +6,8 @@ import (
"github.com/revel/revel"
)
func Log(i ...interface{}) {
revel.INFO.Println(i...)
}
func LogW(i ...interface{}) {
revel.WARN.Println(i...)
}
func Log1(key, i interface{}) {
revel.INFO.Println(key, i)
func Log(i interface{}) {
revel.INFO.Println(i)
}
func LogJ(i interface{}) {
-7
View File
@@ -7,7 +7,6 @@ import (
"os"
"path"
"strings"
"github.com/leanote/leanote/app/lea"
)
// main functions shows how to TarGz a directory/file and
@@ -151,12 +150,6 @@ func Unzip(srcFilePath string, destDirPath string) (ok bool, msg string) {
panic(err)
}
// 包含恶意目录
if strings.Contains(f.Name, "../") {
lea.LogW("恶意文件", f.Name);
continue
}
// 把首文件夹去掉, 即j去掉, 分离出文件夹和文件名
paths := strings.Split(f.Name, "/")
prePath := ""
-22
View File
@@ -264,22 +264,8 @@ func (this *ThemeService) GetDefaultThemes() (themes []info.Theme) {
return
}
func validateFilename(filename string) bool {
// 防止用"../../来获取其它文件"
if (strings.Contains(filename, "..")) {
return false
}
return true
}
// 得到模板内容
func (this *ThemeService) GetTplContent(userId, themeId, filename string) string {
if (!validateFilename(filename)) {
return ""
}
path := this.GetThemeAbsolutePath(userId, themeId) + "/" + filename
return GetFileStrContent(path)
}
@@ -304,10 +290,6 @@ func (this *ThemeService) GetThemePath(userId, themeId string) string {
// 更新模板内容
func (this *ThemeService) UpdateTplContent(userId, themeId, filename, content string) (ok bool, msg string) {
if (!validateFilename(filename)) {
return
}
basePath := this.GetThemeAbsolutePath(userId, themeId)
path := basePath + "/" + filename
if strings.Contains(filename, ".html") {
@@ -344,10 +326,6 @@ func (this *ThemeService) UpdateTplContent(userId, themeId, filename, content st
}
func (this *ThemeService) DeleteTpl(userId, themeId, filename string) (ok bool) {
if (!validateFilename(filename)) {
return
}
path := this.GetThemeAbsolutePath(userId, themeId) + "/" + filename
ok = DeleteFile(path)
return
-1
View File
@@ -37,7 +37,6 @@ function log(o) {
<div id="navbar" class="navbar-collapse collapse">
<div id="lang">
<a data-lang="en-us">English</a>
<a data-lang="de-de">Deutsch</a>
<a data-lang="fr-fr">Français</a>
<a data-lang="zh-cn">简体中文</a>
<a data-lang="zh-hk">繁体中文</a>
+3 -3
View File
@@ -1,5 +1,5 @@
#------------------------
# leanote config
# Leanote config
#------------------------
http.port=9000
@@ -12,13 +12,13 @@ adminUsername=admin
# mongdb
db.host=127.0.0.1
db.port=27017
db.dbname=leanote # required
db.dbname=leanote2 # required
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
# or you can set the mongodb url for more complex needs the format is:
# mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
# db.url=mongodb://root:root123@localhost:27017/leanote
# db.urlEnv=${MONGODB_URL} # set url from env. eg. mongodb://root:root123@localhost:27017/leanote
db.urlEnv=${MONGODB_URL} # set url from env, for docker. eg. mongodb://root:root123@localhost:27017/leanote
# You Must Change It !! About Security!!
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y #
-31
View File
@@ -1,31 +0,0 @@
# album image
Images=Bilder
Upload=Upload
Image URL=Bild URL
Albums=Alben
Default=Standard
File title search=Dateinamensuche
Go to upload images=Gehe zu Bildupload
Rename=Umbenennen
Add=Hinzufügen
Add Album=Album hinzufügen
Add Image=Bild hinzufügen
Can't load this url=Diese URL kann nicht geladen werden
No Images=Keine Bilder
Click to upload images Or Drop images to here=Hier Klicken und Bilder hochzuladen oder per Drag'n'Drop Bilder hier ablegen
Cannot delete default album=Standard Album kann nicht gelöscht werden
Cannot rename default album=Standard Album kann nicht umbenannt werden
This album has images, please delete it's images at first.=Dieses Album enthält Bilder, bitte diese zuerst löschen.
Rename Album=Album umbenennen
Add Success!=Hinzufügen erfolgreich!
Rename Success!=Umbenennen erfolgreich!
Delete Success!=Löschen erfolgreich!
Are you sure to delete this image ?=Soll dieses Bild wirklich gelöscht werden ?
click to remove this image=Klicken um dieses Bild zu löschen
error=Fehler
Error=Fehler
Prev=Vorheriges
Next=Nächstes
-91
View File
@@ -1,91 +0,0 @@
# blog
blogNavs=Navigation
quickLinks=Quick Links
latestPosts=Neuste Posts
noBlog=Kein Blog
noTag=Keine Tags
blogClass=Kategorie
updatedTime=Aktualisert am
createdTime=Erstellt am
fullBlog=Vollstädiger Blog
blogNav=Blog Navigation
more=Mehr...
previous=Vorherige
next=Nächste
#
# set blog
#
blogSet=Blog Konfiguration
baseInfoSet=Grundeinstellungen
commentSet=Kommentar
themeSet=Theme
theme=Theme
blogName=Titel
blogLogo=Logo
blogDesc=Beschreibung
aboutMe=Über mich
#domain
domainSet=Domain
subDomain=Sub-Domain
domain=Eigene Domain
# theme
elegant=Elegant
navFixed=Navigation fest am linken Rand
openComment=Offen für Kommentare?
chooseComment=Kommentar System
disqusHelp=Bitte Disqus Id eingeben
needHelp=Brauche Sie Hilfe?
blogLogoTips=Bild Hochladen für den Blogtitel
saveSuccess=Speichern erfolgreich
community=Community
home=Home
none=Keine
moreShare=Mehr
sinaWeibo=Weibo
weixin=Weichat
tencentWeibo=Tencent Weibo
qqZone=QQ Zone
renren=Renren
report=Report
like=Gefällt mir
unlike=Gefällt mir nicht mehr
viewers=Betrachter
author=Autor
delete=Löschen
reply=Antworten
comment=Kommentar
comments=Kommentare
cancel=Abbrechen
confirm=Bestätigen
signIn=Anmelden
signUp=Registrieren
submitComment=Absenden
reportReason1=不友善内容
reportReason2=广告等垃圾信息
reportReason3=违法违规内容
reportReason4=不宜公开讨论的政治内容
other=Anderes
reportReason=Grund
chooseReason=请选择举报理由
reportSuccess=举报成功, 我们处理后会通知作者, 感谢您的监督
error=Error
reportComment?=举报该评论?
reportBlog?=举报该博客?
confirmDeleteComment=Sind Sie sicher?
scanQRCode=Öffnen Sie weichat und scannen den QR Code
justNow=Jetz
minutesAgo=Minuten
hoursAgo=Stunden
daysAgo=Tage
weeksAgo=Wochen
monthsAgo=Monate
a=a
-35
View File
@@ -1,35 +0,0 @@
# markdown editor
Hyperlink=Hyperlink
Please provide the link URL and an optional title=Bitte Link URL und einen optionalen Titel angeben
optional title=Optionaler Titel
Ok=Ok
Cancel=Abbrechen
Strong=Fett
strong text=Text in Fettschrift
Emphasis=Kursiv
emphasized text=Kursiver Text
Blockquote=Blockzitat
Code Sample=Code-Schnipsel
enter code here=Code hier eingeben
Image=Bild
Heading=Überschrift
Numbered List=Nummerierte Liste
Bulleted List=Aufzählungsliste
List item=Listenelement
Horizontal Rule=Horizontale Trennlinie
Markdown syntax=Markdown Syntax
Undo=Rückgängig
Redo=Wiederholen
enter image description here=Beschreibung des Bildes hier eingeben
enter link description here=Beschreibung des Links hier eingeben
Edit mode=Bearbeiten Modus
Vim mode=Vim Modus
Emacs mode=Emacs Modus
Normal mode=Normaler Modus
Normal=Normal
Light=Light
Light editor=Light Editor
Insert Image=Bild einfügen
-135
View File
@@ -1,135 +0,0 @@
####################
# Member Center
####################
memberCenter=Mitgliederbereich
userNotExists=Der Benutzer ist nicht vorhanden
hasUsers=Der Benutzer existiert bereits
Leanote Blog Theme Api=Leanote Blog Theme Schnittstelle
My Group=Meine Gruppe
# post abstract
Abstract=Zusammenfassung
Description=Beschreibungn
Once the abstract has been updated, it will not set the abstract automatically other than you cancel it.=Wenn die Zusammenfassung einmal definiert wurde, wird sie nicht automatisch aktulisiert werden, wenn Sie sie löschen.
Main Image=Haupt-Bild
Get next image as main image from content=Das Bild als Haupt-Bild von folgendem Inhalt definieren
Raw Content=Rohdaten
#memeber
welcomeToLeanote=Willkommen
accountInfo=Konto Information
accountType=Konto Typ
premiumAccountType=Premium
normalAccountType=Normal
imageSize=Bild Kapazität
attachSize=Anhang Kapazität
totalTraffic=Web Traffic
upgrade=Konto Upgraden
leanoteEvents=Leanote News
addLeanoteAccount=Neues Leanote Konto
defaultComment=Standard Leanote Kommentar System
upgradeAccountTips=Ich möchte eine eigene Domain für meinen Blog verwenden, <a class="btn btn-default" href="/service">Konto Upgrade</a>
cateIsPublicNotebook=Kategorie der veröffentlichten Notizen
dragAndSort=Ziehen zum Sortieren
permanentLink=Permanent Link
cate=Kategorie
noCates=Keine Kategorie
single=Einfache Seite
singleTips=Es können viele einzelne Seiten angelegt werden
addSingle=Neue einfache Seite
updateSingle=Einfache Seite aktualisieren
inputSingleTitle=Titel für einfache Seite erforderlich
saveSort=Reihenfolge speichern
pagingAndSort=Paging und Sortiereinstellungen
perPageSize=Anzahl Posts pro Seite
sortField=Sortierfeld
sortType=Sortiertyp
publicTime=Veröffentlicht am
createdTime=Erstellt am
updatedTime=Geändert am
desc=Absteigend
asc=Aufsteigend
postList=Veröffentlichungsliste
hasSelfDefined=ist definiert
noSelfDefined=ist nicht definiert
setAbstract=Einstellungen der Zusammenfassung
title=Titel
content=Inhalt
addTheme=Neues Theme
importTheme=Import Theme
exportTheme=Export Theme
export=Export
preview=Vorschau
edit=Bearbeiten
use=Benutzen
install=Installieren
currentTheme=Aktuelles Theme
myOtherThemes=Meine anderen Themes
leanoteThemeMarket=Leanote Theme Market
updateTheme=Theme aktualisieren
tplStyleScript=template, style, script
newFile=Neue Datei
image=Bild
currentFile=Aktuelle Datei
tpl=Template
style=Style
script=Script
header=Header
footer=Footer
index=Home
cate=Kategorie
search=Suchen
single=Einfache Seite
archive=Archiv
post=Post
tags=Tags
tag_posts=Tag's posts
share_comment=Kommentare
themeJson=Theme Einstellungen
paging=Paging
highlight=Code highlight
# member title
Leanote Member Center=Leanote Mitgliederbereich
Username=Benutzername
Email=E-Mail
Password=Passwort
Avatar=Avatar
Add Account=Konto hinzufügen
Update Post Abstract=Zusammenfassung aktualisieren
Blog Base Info=Blog Grundeinstellungen
Comment=Kommentare
Posts=Posts
Domain=Domain
Paging=Paging
Category=Kategorien
Add Single=Einfache Seite hinzufügen
Update Single=Einfache Seite aktualiseren
Single=Einfache Seiten
Theme=Theme
Upate Theme=Theme Aktualisieren
group=Gruppe
newGroup=Neue Gruppe
deleteGroup=Gruppe löschen
addMemberTips=Benutzername oder E-Mail angeben um Benutzer hinzuzufügen
deleteMember=Mitglied entfernen
forbiddenNotMyGroup=Sie haben keine Zugriffsrechte, da Sie nicht Besitzer der Gruppe sind
userExistsInGroup=Dieser Benutzer ist bereits Mitglied in der Gruppe
notMyGroup=Sie sind nicht Besitzer der Gruppe
# view js
Are you sure ?=Sind Sie sicher ?
Are you sure to install it ?=Soll das wirklich installiert werden ?
Are you sure to delete=Wirklich löschen
Success=Erfolgreich
Error=Fehler
File exists=Datei bereits vorhanden
Delete file=Datei löschen
No images=Keine Bilder
Filename=Dateiname
Group Title=Gruppenname
-286
View File
@@ -1,286 +0,0 @@
# leanote
app=Leanote
moto=Nicht nur ein Notizzettel!
moto2=Wissen teilen, Blog, Zusammenarbeit ... Alles in Leanote
moto3=Einfach, aber nicht leicht
fork github=Fork Leanote auf Github
# Anfang
openSource=leanote.org
forgetPassword = Passwort vergessen?
or=oder
try=Ausprobieren
3th=Externe Konten
usernameOrEmail=Nutzername oder E-Mail
password=Passwort
home=Home
desktopApp=App
aboutLeanote=Über Leanote
suggestions=Vorschläge
yourSuggestions=Vorschläge
leanoteBlog=Blog
knowledge=Wissen
knowledgeInfo=Nutze Leanote als Notizzettel und verwalte dein Wissen in Leanote.
share=Teilen
shareInfo=Teile dein Wissen mit Anderen in Leanote.
cooperation=Zusammenarbeit
cooperationInfo=Arbeite mit Anderen zusammen und verbessere dein Wissen.
blog=Blog
blogInfo=Veröffentliche dein Wissen, und Leanote ist dein Blog!
suggestionsInfo=Hilf uns, unseren Service zu verbessern.
yourContact=Dein Kontakt
emailOrOthers=E-Mail oder andere Kontaktmöglichkeiten
captcha=Sicherheitswort
reloadCaptcha=Sicherheitswort neu laden
captchaError=Sicherheitswort stimmt nicht überein
inputCaptcha=Sicherheitswort ist notwendig
noTag=Keine Tags
hi=Hallo
welcomeUseLeanote=Willkommen!
myNote=Meine Notizen
curUser=E-Mail
# form
submit=Übertragen
Submit=Übertragen
register=Registrieren
login=Einloggen
Password=Passwort
password2=Bestätige dein Passwort
email=E-Mail
inputUsername=Nutzername(E-Mail) ist erforderlich
inputEmail=E-Mail ist erforderlich
wrongEmail=Falsche E-Mail
wrongUsernameOrPassword=Falscher Nutzername oder Passwort
inputPassword=Passwort ist erforderlich
wrongPassword=Falsches Passwort
logining=Einloggen
loginSuccess=Einloggen erfolgreich
ing=Bearbeiten
use = Nutzen
hadAcount = Du hast schon ein Konto?
hasAcount = Du hast noch kein Konto?
signInWithThird=Mit anderem Konto anmelden
# Registrierung
registerSuccessAndRdirectToNote=Registrierung erfolgreich, Weiterleitung ...
userHasBeenRegistered=%s ist registriert
# Passwort vergessen
passwordTips=Passwortlänge mindestens 6 Zeichen
findPassword=Finde Passwort
findPasswordSendEmailOver=Wir haben dir bereits den Passwortlink geschickt, bitte überprüfe deine E-Mail.
checkEmai=Überprüfe deine E-Mail
findPasswordTimeout=Unterbrechung
reFindPassword=Suche Passwort noch mal
updatePassword=Aktualisiere Passwort
updatePasswordSuccessRedirectToLogin=Aktualisierung des Passworts war erfolgreich, Weiterleitung zur Login-Seite ...
inputPassword2=Bitte gib dein Passwort erneut ein
confirmPassword=Bitte bestätige dein Passwort
notGoodPassword=Kein sicheres Passwort, die Länge sollte zumindest 6 Zeichen betragen
# Notizen Start
myBlog=Blog
Explore=Erkunden
history=Verlauf
save=Speichern
editorTips=Tipps
editorTipsInfo=<h4>1. Kurzbefehle</h4>ctrl+shift+c Ansicht ändern<h4>2. shift+enter Den aktuellen Block verlassen</h4> eg. <img src="/images/outofcode.png" style="width: 90px"/> in dieser Situation nutze shift+enter um den derzeitigen Block zu verlassen.
newNote=Neue Notiz
newMarkdownNote=Neue Markdown Notiz
noNoteNewNoteTips=Diese Notizbuch ist leer, warum erstellst du keine neuen Notizen ...
canntNewNoteTips=Entschuldigung, du kannst hier keine neue Notiz hinzufügen, bitte wähle zuerst ein Notizbuch.
new=Neu
newMarkdown=Neue Markup Notiz
clickAddTag=Klicke hier, um Tags hinzuzufügen
notebook=Notizbücher
note=Notiz
myNotebook=Meine Notizen
addNotebook=Füge Notiz hinzu
search=Suchen
clearSearch=Lösche Suche
all=Neueste
trash=Papierkorb
delete=Löschen
unTitled=Ohne Titel
defaultShare=Standard Freigabe
leftHidden=Verstecke Seitenleiste
leftShow=Zeige Seitenleiste
nav=Notiznavigation
writingMode=Schreibmodus
normalMode=Normaler Modus
saving=Speichern
saveSuccess=Speichern erfolgreich
SearchNote=Notizen suchen
SearchNotebook=Notizbuch suchen
Choose File=Datei auswählen
Download All=Alle herunterladen
Information=Information
Toggle Modify with Readonly=Bearbeiten/Ansehen
update=Aktualisierung
create=Erzeugen
demoRegister=<a href="/register">Registrieren</a>
close=Schliessen
cancel=Abbrechen
send=Absenden
# Etikett
tag=Tags
myTag=Meine Tags
red=Rot
yellow=Gelb
blue=Blau
green=Grün
# Einrichtung
accountSetting=Konto
themeSetting=Darstellung
setAvatar=Avatar
logout=Abmelden
basicInfo=Grundlagen
basicInfoSet=Blog Grundeinstellugen
updateEmail=Aktualisiere E-Mail
usernameSetting=Aktualisiere Nutzernamen
username=Nutzername
avatar=Avatar
chooseImage=Wähle Bild
oldPassword=Altes Passwort
newPassword=Neues Passwort
admin=Admin
default=Voreinstellung
simple=Einfach
# tinymce
uploadImage=Bild hochladen
# blog
aboutMe=Über mich
blogSet=Blog Einstellungen
# index
discussion=Forum
download=Herunterladen
howToInstallLeanote=Wie installiere ich Leanote?
#
attachments = Anhang
donate = Spenden
# Kontextmenü
shareToFriends=Teile mit Anderen
publicAsBlog=Veröffentlichen als Blog
cancelPublic=Veröffentlichung zurückziehen
move=Verschieben
copy=Kopieren
rename=Umbenennen
exportPdf=Export als PDF
addChildNotebook=Erstelle Unter-Notizbuch
deleteAllShared=Lösche gemeinsame Nutzer
deleteSharedNotebook=Lösche gemeinsame Notiz
copyToMyNotebook=Kopiere zu meinen Notizen
####note-dev
emailInSending=E-Mail in Zustellung
checkEmail=Überprüfe E-Mail
setUsername=Lege Nutzernamen fest
setUsernameTips=Deine aktuelle E-Mail ist: <code>%s</code>.Du kannst einen einzigartigen Nutzernamen anlegen. <br />Nutzername' mindestens 4 Zeichen und keinen Sonderzeichen.
currentEmail=Deine aktuelle E-Mail Adresse lautet: <code>%s</code>
updateEmail=Aktualisiere E-Mail
updateEmailTips=Bitte bestätige deine E-Mail nach dem Aktualisieren. Die verifizierte E-Mail ist dein neues Konto.
sendVerifiedEmail=Schicke Bestätigungsmail
verified=Bestätigt
unVerified=Unbestätigt
verifiedNow=Bestätige jetzt
resendVerifiedEmail=Versende Bestätigungsmail noch einmal
# Teilen
defaulthhare=Voreinstellung
addShare=Füge Freund hinzu
friendEmail=E-Mail des Freundes
permission=Erlaubnis
readOnly=Nur lesen
writable=Schreibrechte
inputFriendEmail=E-Mail-Adresse deines Freundes wird benötigt
clickToChangePermission=Klicke, um Erlaubniss zu ändern
sendInviteEmailToYourFriend=Schicke deinem Freund eine E-Mail-Benachrichtigung
copySuccess=Kopieren erfolgreich
copyFailed=Fehler beim Kopieren
friendNotExits=Dein Freund besitzt kein %s's Konto, Einladungs-Benachrichtigung verschicken: %s
emailBodyRequired=E-Mail-Inhalt ist notwendig
clickToCopy=Klicke zum Kopieren
sendSuccess=Erfolgreich
inviteEmailBody=Hallo, ich bin %s, %s ist grossartig, schau es dir an!
# Verlauf
historiesNum=Wir haben deine letzten <b>10</b> Einträge gespeichert.
noHistories=Kein Verlauf
fold=Einklappen
unfold=Ausklappen
datetime=Datum und Zeit
restoreFromThisVersion=Wiederherstellen von dieser Version
confirmBackup=Bist du sicher, dass du von dieser Version wiederherstellen willst? Wir werden die aktuelle Version speichern.
createAccount=Erstelle Konto
createAccountSuccess=Konto-Erstellung erfolgreich
createAccountFailed=Fehler beim Erstellen des Kontos
thirdCreateAcountTips=Du nutzt das %(app)s Konto um dich einzuloggen, du kannst %(app)s Konto erstellen. <br /> Nachdem du das %(app)s Konto erstellt hast, kannst du dich %(app)s einloggen.
## Gültige Nachricht
inputUsername=Füge Nutzernamen ein
updateUsernameSuccess=Aktualisierung des Nutzernamens war erfolgreich
usernameIsExisted=Nutzername existiert bereits
noSpecialChars=Nutzername darf keine Sonderzeichen enthalten
minLength=Die Länge muss mindestens %s Zeichen betragen
errorEmail=Bitte füge die richtige E-Mail ein
verifiedEmaiHasSent=Die Verifizierungs-E-Mail wurde verschickt, bitte checke deine E-Mail.
emailSendFailed=E-Mail-Verifizierung fehlgeschlagen
inputPassword=Passwort ist erforderlich
inputNewPassword=Neues Passwort ist erforderlich
inputPassword2=Bitte füge dein neues Passwort ein
errorPassword=Die länge des Passwortes sollte mindestenns 6 Zeichen und so komplex wie möglich sein
oldPasswordError=Das alte Passwort stimmt nicht überein
confirmPassword=Passwort stimmt nicht überein
updatePasswordSuccess=Aktualiseren des Passwortes erfolgreich
errorDomain=Die personalisierte Webseitenaddresse stimmt nicht, z.B. www.myblog.com
domainExisted=Personalisierte Webseitenadresse existiert bereits
errorSubDomain=Bitte füge eine gültige Subdomain mit mindestens 4 Zeichen und ohne Sonderzeichen ein.
subDomainExisted=Subdomain existiert bereits
domainNotPointToLeanote=Die Benutzerdefinierte Domain zeigt nicht auf d.leanote.com
errorPerPageSize=Seitengrössenfehler
errorSortField=Suchfeldfehler
themeValidHasRoundInclude=WARNING: Layout hat unterschiedliche Verweise!
# share
tokenExpired=Token abgelaufen
Share=Teilen
hasSharedThisNote=hat diese Notiz geteilt
inputSharePwd=Bitte Passwort eingeben
shareToGroup=Mit Gruppe teilen
shareByPwd=Mit Passwort teilen
groupName=Gruppen Name
operation=Operation
groupAndMemberManage=Gruppenmitglieder verwalten
shareToGroupTips=Wenn eine Notiz mit einer Gruppe geteilt wird, bekommen alle Mitglieder ger Gruppe Zugriff
shared=geteilt
notShared=nicht geteilt
shareLink=Geteilt Link
sharePwd=Zugriffs-Passwort
cancelShare=Abbrechen
getShareLinkAndPwd=Link und Passwort kopieren
# Common
created=erstellt
updated=geändert
modify=Ändern
Search=Suchen
Save Success=erfolgreich gespeichert
Please save note firstly!=Bitte die Notiz zuerst speichen!
Please sign in firstly!=Bitte zuerst anmelden!
# Fehler
notFound=Diese Seite kann nicht gefunden werden.
-179
View File
@@ -1,179 +0,0 @@
Cut=Cut
Header 2=Header 2
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.
Div=Div
Paste=Paste
Close=Close
Font Family=Schriftart
Pre=Pre
Align right=Align right
New document=New document
Blockquote=Blockquote
Numbered list=Numbered list
Increase indent=Increase indent
Formats=Formats
Headers=Headers
Select all=Select all
Header 3=Header 3
Blocks=Blocks
Undo=Undo
Strikethrough=Strike-through
Bullet list=Bullet list
Header 1=Header 1
Superscript=Superscript
Clear formatting=Clear formatting
Font Sizes=Font Sizes
Subscript=Subscript
Header 6=Header 6
Redo=Redo
Paragraph=Paragraph
Ok=Ok
Bold=Bold
Code=Code
Italic=Italic
Align center=Align centre
Header 5=Header 5
Decrease indent=Decrease indent
Header 4=Header 4
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.
Underline=Underline
Cancel=Cancel
Justify=Justify
Inline=Inline
Copy=Copy
Align left=Align left
Visual aids=Visual aids
Lower Greek=Lower Greek
Square=Square
Default=Default
Lower Alpha=Lower Alpha
Circle=Circle
Disc=Disc
Upper Alpha=Upper Alpha
Upper Roman=Upper Roman
Lower Roman=Lower Roman
Name=Name
Anchor=Anchor
You have unsaved changes are you sure you want to navigate away?=You have unsaved changes are you sure you want to navigate away?
Restore last draft=Restore last draft
Special character=Special character
Source code=Source code
Right to left=Right to left
Left to right=Left to right
Emoticons=Emoticons
Robots=Robots
Document properties=Document properties
Title=Title
Keywords=Keywords
Encoding=Encoding
Description=Description
Author=Author
Language=Language
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` toggle code
Fullscreen=Full-screen
Horizontal line=Horizontal line
Horizontal space=Horizontal space
Insert\/edit image=Insert\/edit image
General=General
Advanced=Advanced
Source=Source
Border=Border
Constrain proportions=Constrain proportions
Vertical space=Vertical space
Image description=Image description
Style=Style
Dimensions=Dimensions
Insert image=Insert image
Insert date\/time=Insert date\/time
Remove link=Remove link
Url=URL
Text to display=Text to display
Anchors=Anchors
Insert link=Insert link
New window=New window
None=None
The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?=The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?
Target=Target
The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?=The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?
Insert\/edit link=Insert\/edit link
Insert\/edit video=Insert\/edit video
Poster=Poster
Alternative source=Alternative source
Paste your embed code below:=Paste your embed code below:
Insert video=Insert video
Embed=Embed
Nonbreaking space=Non-breaking space
Page break=Page break
Paste as text=Paste as text
Preview=Preview
Print=Print
Save=Save
Could not find the specified string.=Could not find the specified string.
Replace=Replace
Next=Next
Whole words=Whole words
Find and replace=Find and replace
Replace with=Replace with
Find=Find
Replace all=Replace all
Match case=Match case
Prev=Prev
Spellcheck=Spell-check
Finish=Finish
Ignore all=Ignore all
Ignore=Ignore
Insert row before=Insert row before
Rows=Rows
Height=Height
Paste row after=Paste row after
Alignment=Alignment
Column group=Column group
Row=Row
Insert column before=Insert column before
Split cell=Split cell
Cell padding=Cell padding
Cell spacing=Cell spacing
Row type=Row type
Insert table=Insert table
Body=Body
Caption=Caption
Footer=Footer
Delete row=Delete row
Paste row before=Paste row before
Scope=Scope
Delete table=Delete table
Header cell=Header cell
Column=Column
Cell=Cell
Header=Header
Cell type=Cell type
Copy row=Copy row
Row properties=Row properties
Table properties=Table properties
Row group=Row group
Right=Right
Insert column after=Insert column after
Cols=Cols
Insert row after=Insert row after
Width=Width
Cell properties=Cell properties
Left=Left
Cut row=Cut row
Delete column=Delete column
Center=Centre
Merge cells=Merge cells
Insert template=Insert template
Templates=Templates
Background color=Background colour
Text color=Text colour
Show blocks=Show blocks
Show invisible characters=Show invisible characters
Words: {0}=Words: {0}
Insert=Insert
File=File
Edit=Edit
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help
Tools=Tools
View=View
Table=Table
Format=Format
+8 -8
View File
@@ -67,17 +67,17 @@ confirm=Confirm
signIn=Sign In
signUp=Sign Up
submitComment=Submit
reportReason1=Unfriendly content
reportReason2=Advertising and other spam
reportReason3=Illegal content
reportReason4=Public discussion of political content
reportReason1=不友善内容
reportReason2=广告等垃圾信息
reportReason3=违法违规内容
reportReason4=不宜公开讨论的政治内容
other=Other
reportReason=Reason
chooseReason=Select report reason
reportSuccess=Reporting success, we will notify the author, thank you for your monitor
chooseReason=请选择举报理由
reportSuccess=举报成功, 我们处理后会通知作者, 感谢您的监督
error=Error
reportComment?=Report this comment?
reportBlog?=Report this blog?
reportComment?=举报该评论?
reportBlog?=举报该博客?
confirmDeleteComment=Are you sure?
scanQRCode=Open weichat and scan the QR code
justNow=Just now
+1 -1
View File
@@ -91,7 +91,7 @@ editorTipsInfo=<h4>1. Short cuts</h4>ctrl+shift+c Toggle code<h4>2. shift+enter
newNote=New note
newMarkdownNote=New Markdown Note
noNoteNewNoteTips=The notebook is empty, why not...
canntNewNoteTips=Sorry, you can't add notes here, please choose a notebook first.
canntNewNoteTips=Sorry, cannot new note in here, please choose a notebook at first.
new=New
newMarkdown=New markdown note
clickAddTag=Click to add Tag
+25 -25
View File
@@ -1,31 +1,31 @@
# album image
Images=Images
Upload=Téléverser
Image URL=URL de l'image
Upload=Upload
Image URL=Image URL
Albums=Albums
Default=Par défaut
File title search=Recherche par nom de fichier
Go to upload images=Aller au téléversement d'images
Rename=Renommer
Add=Ajouter
Add Album=Ajouter un album
Add Image=Ajouter une image
Can't load this url=Chargement de l'URL impossible
No Images=Aucune image
Click to upload images Or Drop images to here=Cliquez pour téléverser des images ou glisser des images ici
Default=Default
File title search=File title search
Go to upload images=Go to upload images
Rename=Rename
Add=Add
Add Album=Add Album
Add Image=Add Image
Can't load this url=Can't load this url
No Images=No Images
Click to upload images Or Drop images to here=Click to upload images Or Drop images to here
Cannot delete default album=Album par défaut impossible à effacer
Cannot rename default album=Album par défaut impossible à renommer
This album has images, please delete it's images at first.=Cet album contient des images, veuillez les effacer en premier.
Cannot delete default album=Cannot delete default album
Cannot rename default album=Cannot rename default album
This album has images, please delete it's images at first.=This album has images, please delete it's images at first.
Rename Album=Renommer un album
Add Success!=Ajout effectué avec succès!
Rename Success!=Renommage effectué avec succès!
Delete Success!=Effaçage effectué avec succès!
Are you sure to delete this image ?=Voulez-vous vraiment effacer cette image ?
click to remove this image=cliquez pour supprimer cette image
error=erreur
Error=Erreur
Prev=Préc
Next=Suiv
Rename Album=Rename Album
Add Success!=Add Success!
Rename Success!=Rename Success!
Delete Success!=Delete Success!
Are you sure to delete this image ?=Are you sure to delete this image ?
click to remove this image=click to remove this image
error=error
Error=Error
Prev=Prev
Next=Next
+28 -28
View File
@@ -1,35 +1,35 @@
# markdown editor
Hyperlink=Hyperlien
Please provide the link URL and an optional title=Veuillez fournir le lien hypertexte et un titre facultatif
optional title=titre facultatif
Hyperlink=Hyperlink
Please provide the link URL and an optional title=Please provide the link URL and an optional title
optional title=optional title
Ok=Ok
Cancel=Annuler
Strong=Fort
strong text=Texte fort
Emphasis=Emphase
emphasized text=Texte avec emphase
Blockquote=Bloc de citation
Code Sample=Extrait de code
enter code here=entrer le code ici
Cancel=Cancel
Strong=Strong
strong text=strong text
Emphasis=Emphasis
emphasized text=emphasized text
Blockquote=Blockquote
Code Sample=Code Sample
enter code here=enter code here
Image=Image
Heading=Titre
Numbered List=Liste ordonnée
Bulleted List=Liste non ordonnée
List item=Element de liste
Horizontal Rule=Ligne horizontale
Markdown syntax=Syntaxe markdown
Undo=Annuler
Redo=Reproduire
enter image description here=entrer la description de l'image ici
enter link description here=entrer la description du lien ici
Edit mode=Mode édition
Vim mode=Mode Vim
Emacs mode=Mode Emacs
Normal mode=Mode Normal
Heading=Heading
Numbered List=Numbered List
Bulleted List=Bulleted List
List item=List item
Horizontal Rule=Horizontal Rule
Markdown syntax=Markdown syntax
Undo=Undo
Redo=Redo
enter image description here=enter image description here
enter link description here=enter link description here
Edit mode=Edit mode
Vim mode=Vim mode
Emacs mode=Emacs mode
Normal mode=Normal mode
Normal=Normal
Light=Léger
Light editor=Editeur léger
Light=Light
Light editor=Light editor
Insert Image=Inserérer une image
Insert Image=Insert Image
+35 -35
View File
@@ -7,37 +7,37 @@
memberCenter=Espace Membre
userNotExists=L'utilisateur n'existe pas
hasUsers=L'utilisateur existe déjà
My Group=Mon Groupe
My Group=My Group
# post abstract
Abstract=Résumé
Abstract=Abstract
Description=Description
Once the abstract has been updated, it will not set the abstract automatically other than you cancel it.=Une fois que le résumé a été mis à jour, celui-ci ne sera pas automatiquement appliqué, à moins que vous ne l'annuliez.
Main Image=Image principale
Get next image as main image from content=Faire de cette image l'image principale depuis le contenu
Raw Content=Contenu brut
Once the abstract has been updated, it will not set the abstract automatically other than you cancel it.=Once the abstract has been updated, it will not set the abstract automatically other than you cancel it.
Main Image=Main Image
Get next image as main image from content=Get next image as main image from content
Raw Content=Raw Content
# member title
Leanote Member Center=Centre de Membre Leanote
Username=Nom d'utilisateur
Email=Courriel
Password=Mot de passe
Leanote Member Center=Leanote Member Center
Username=Username
Email=Email
Password=Password
Avatar=Avatar
Add Account=Ajouter compte
Update Post Abstract=Mise à jour après résumé
Blog Base Info=Info de base du blog
Comment=Commentaire
Add Account=Add Account
Update Post Abstract=Update Post Abstract
Blog Base Info=Blog Base Info
Comment=Comment
Posts=Posts
Domain=Domaine
Paging=Pagination
Category=Catégorie
Add Single=Ajout unique
Update Single=Mise à jour unique
Single=Unique
Theme=Thème
Upate Theme=Mise à jour du thème
Domain=Domain
Paging=Paging
Category=Category
Add Single=Add Single
Update Single=Update Single
Single=Single
Theme=Theme
Upate Theme=Upate Theme
group=Groupe
@@ -45,9 +45,9 @@ newGroup=Nouveau groupe
deleteGroup=Effacer groupe
addMemberTips=Rentrer le nom d'utilisateur et le courriel pour ajouter un membre
deleteMember=Effacer membre
forbiddenNotMyGroup=Vous n'avez aucun droit d'accès, car vous n'êtes pas le propriétaire du groupe.
userExistsInGroup=Le membre existe déjà dans le groupe.
notMyGroup=Vous n'êtes pas le propriétaire du groupe.
forbiddenNotMyGroup=You have no authority to access, cause you are not the group owner
userExistsInGroup=The member is already exists in this group
notMyGroup=You are not the group owner
#memeber
welcomeToLeanote=Bienvenue
@@ -126,13 +126,13 @@ highlight=Surlignage du code
# view js
Are you sure ?=Êtes-vous sûr ?
Are you sure to install it ?=Voulez-vous vraiment l'installer ?
Are you sure to delete=Voulez-vous vraiment l'effacer?
Success=Succès
Error=Erreur
File exists=Le fichier exite
Delete file=Effacer le fichier
No images=Pas d'images
Filename=Nom de fichier
Group Title=Titre du groupe
Are you sure ?=Are you sure ?
Are you sure to install it ?=Are you sure to install it ?
Are you sure to delete=Are you sure to delete
Success=Success
Error=Error
File exists=File exists
Delete file=Delete file
No images=No images
Filename=Filename
Group Title=Group Title
+5 -5
View File
@@ -49,7 +49,7 @@ password2=Confirmer votre mot de passe
email=Adresse de courriel
inputUsername=Le nom d'utilisateur(adresse courriel) est requis
inputEmail=L'adresse courriel est requis
wrongEmail=Adresse courriel incorrecte
wrongEmail=Wrong email
wrongUsernameOrPassword=Mauvais nom d'utilisateur ou mot de passe
inputPassword=Le mot de passe est requis
wrongPassword=Mauvais mot de passe
@@ -80,7 +80,7 @@ notGoodPassword=Le mot de passe est incorrect, il doit comporter au moins 6 cara
# note
myBlog=Blog
Explore=Explorer
Explore=Explore
history=Historique
save=Sauvegarder
editorTips=Astuces
@@ -156,7 +156,7 @@ blogSet=Réglages du blog
# index
discussion=Discussion
download=Téléchargement
howToInstallLeanote=Comment installer Leanote
howToInstallLeanote=Comment installer leanote
#
attachments = Pièces-jointes
@@ -195,7 +195,7 @@ friendEmail=Courriel de l'ami
permission=Autorisation
readOnly=Lecture seule
writable=Editable
inputFriendEmail=Le courriel de votre ami est requis
inputFriendEmail=Le courriel de votre ami est requis/
clickToChangePermission=Cliquez pour changer l'autorisation.
sendInviteEmailToYourFriend=Envoyer un courriel d'invitation à votre ami.
copySuccess=Copie réussie
@@ -245,7 +245,7 @@ errorSortField=Erreur dans le tri du champs
themeValidHasRoundInclude=WARNING: Les modèles ont des références circulaires!
# share
tokenExpired=Session expirée
tokenExpired=Token Expired
Share=Partager
hasSharedThisNote=a partagé cette note
inputSharePwd=Veuillez entrer le mot de passe
+167 -167
View File
@@ -1,179 +1,179 @@
Cut=Couper
Header 2=Titre 2
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=Votre navigateur ne supporte pas l'accès direct au presse-papier. Veuillez utiliser les raccourcis Ctrl+X\/C\/V à la place.
Cut=Cut
Header 2=Header 2
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.
Div=Div
Paste=Coller
Close=Fermer
Font Family=Famille de police
Paste=Paste
Close=Close
Font Family=Font Family
Pre=Pre
Align right=Aligné à droite
New document=Nouveau document
Blockquote=Bloc de citation
Numbered list=Liste ordonnée
Increase indent=Augmenter l'indentation
Formats=Format
Headers=En-tête
Select all=Sélectionner tout
Header 3=En-tête 3
Blocks=Blocs
Undo=Annuler
Strikethrough=Barrer
Bullet list=Liste à puces
Header 1=En-tête 1
Superscript=Exposant
Clear formatting=Nettoyer le formatage
Font Sizes=Taille des Polices
Subscript=Indice
Header 6=En-tête 6
Redo=Reproduire
Paragraph=Paragraphe
Align right=Align right
New document=New document
Blockquote=Blockquote
Numbered list=Numbered list
Increase indent=Increase indent
Formats=Formats
Headers=Headers
Select all=Select all
Header 3=Header 3
Blocks=Blocks
Undo=Undo
Strikethrough=Strike-through
Bullet list=Bullet list
Header 1=Header 1
Superscript=Superscript
Clear formatting=Clear formatting
Font Sizes=Font Sizes
Subscript=Subscript
Header 6=Header 6
Redo=Redo
Paragraph=Paragraph
Ok=Ok
Bold=Gras
Bold=Bold
Code=Code
Italic=Italique
Align center=Aligner au centre
Header 5=En-tête 5
Decrease indent=Diminuer l'indentation
Header 4=En-tête 4
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=Coller est en mode texte clair. Les contenus seront collés désormais en clair jusqu'à ce que vous ne désactiviez cette option.
Underline=Souligner
Cancel=Annuler
Justify=Justifier
Inline=En ligne
Copy=Copier
Align left=Aligner à gauche
Visual aids=Aides visuelles
Lower Greek=Grec minuscule
Square=Carré
Default=Par défaut
Lower Alpha=Alpha minuscule
Circle=Cercle
Disc=Disque
Upper Alpha=Alpha majuscule
Upper Roman=Roman majuscule
Lower Roman=Roman minuscule
Name=Nom
Anchor=Ancre
You have unsaved changes are you sure you want to navigate away?=Des changements n'ont pas été enregistrés, voulez-vous vraiment sortir?
Restore last draft=Restaurer dernier brouillon
Special character=Caractère spécial
Source code=Code Source
Right to left=De droite à gauche
Left to right=De gauche à droite
Emoticons=Emoticones
Italic=Italic
Align center=Align centre
Header 5=Header 5
Decrease indent=Decrease indent
Header 4=Header 4
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.
Underline=Underline
Cancel=Cancel
Justify=Justify
Inline=Inline
Copy=Copy
Align left=Align left
Visual aids=Visual aids
Lower Greek=Lower Greek
Square=Square
Default=Default
Lower Alpha=Lower Alpha
Circle=Circle
Disc=Disc
Upper Alpha=Upper Alpha
Upper Roman=Upper Roman
Lower Roman=Lower Roman
Name=Name
Anchor=Anchor
You have unsaved changes are you sure you want to navigate away?=You have unsaved changes are you sure you want to navigate away?
Restore last draft=Restore last draft
Special character=Special character
Source code=Source code
Right to left=Right to left
Left to right=Left to right
Emoticons=Emoticons
Robots=Robots
Document properties=Propriétés du document
Title=Titre
Keywords=Mots-clés
Encoding=Encodage
Document properties=Document properties
Title=Title
Keywords=Keywords
Encoding=Encoding
Description=Description
Author=Auteur
Language=Langue
`ctrl/cmd+shift+c` toggle code=inverser le code `ctrl/cmd+shift+c`
Fullscreen=Plein écran
Horizontal line=Ligne horizontal
Horizontal space=Espace horizontal
Insert\/edit image=Insérer\/éditer image
General=Général
Advanced=Avancé
Author=Author
Language=Language
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` toggle code
Fullscreen=Full-screen
Horizontal line=Horizontal line
Horizontal space=Horizontal space
Insert\/edit image=Insert\/edit image
General=General
Advanced=Advanced
Source=Source
Border=Bordure
Constrain proportions=Conserver proportions
Vertical space=Espace vertical
Image description=Description de l'image
Border=Border
Constrain proportions=Constrain proportions
Vertical space=Vertical space
Image description=Image description
Style=Style
Dimensions=Dimensions
Insert image=Insérer image
Insert date\/time=Insérer date\/heure
Remove link=Enlever le lien
Insert image=Insert image
Insert date\/time=Insert date\/time
Remove link=Remove link
Url=URL
Text to display=Texte à afficher
Anchors=Ancres
Insert link=Insérer liens
New window=Nouvelle fenêtre
None=Aucune
The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?=L'URL que vous avez entré semble être un lien externe. Voulez-vous ajouter le préfixe http:\/\/ requis?
Target=Cible
The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?=L'URL que vous avez entré semble être une adresse de courriel. Voulez-vous ajouter le préfixe mailto: requis?
Insert\/edit link=Insérer\/éditer le lien
Insert\/edit video=Insérer\/éditer la vidéo
Text to display=Text to display
Anchors=Anchors
Insert link=Insert link
New window=New window
None=None
The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?=The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?
Target=Target
The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?=The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?
Insert\/edit link=Insert\/edit link
Insert\/edit video=Insert\/edit video
Poster=Poster
Alternative source=Source alternative
Paste your embed code below:=Coller le code intégré ci-dessous:
Insert video=Insérer video
Embed=Intégrer
Nonbreaking space=Espaces insécables
Page break=Saut de page
Paste as text=Coller en tant que texte
Preview=Aperçu
Print=Imprimer
Save=Enregistrer
Could not find the specified string.=Impossible de trouver la chaîne spécifiée.
Replace=Remplacer
Next=Suivant
Whole words=Mots entiers
Find and replace=Trouver et remplacer
Replace with=Remplacer par
Find=Trouver
Replace all=Tout remplacer
Match case=Correspondance de la casse
Prev=Précédent
Spellcheck=Correcteur d'orthographe
Finish=Terminer
Ignore all=Ignorer tout
Ignore=Ignorer
Insert row before=Insérer une ligne avant
Rows=Lignes
Height=Hauteur
Paste row after=Coller une ligne après
Alignment=Alignement
Column group=Groupe de colonnes
Row=Ligne
Insert column before=Insérer une colonne avant
Split cell=Diviser la cellule
Cell padding=Marge intérieure de cellule
Cell spacing=Marge extérieure de cellule
Row type=Type de ligne
Insert table=Insérer tableau
Body=Corps
Caption=Légende
Footer=Pied de page
Delete row=Effacer la ligne
Paste row before=Coller une ligne avant
Scope=Cadre
Delete table=Effacer le tableau
Header cell=En-tête de cellule
Column=Colonne
Cell=Cellule
Header=En-tête
Cell type=Type de cellule
Copy row=Copier la ligne
Row properties=Propriétés de la ligne
Table properties=Propriétés du tableau
Row group=Groupe de ligne
Right=Droit
Insert column after=Insérer une colonne après
Cols=Colonnes
Insert row after=Insérer une ligne après
Width=Largeur
Cell properties=Propriétés de la cellule
Left=Gauche
Cut row=Couper la ligne
Delete column=Effacer la colonne
Center=Centrer
Merge cells=Fusionner les cellules
Insert template=Insérer un modèle
Templates=Modèles
Background color=Couleur de fond
Text color=Couleur de texte
Show blocks=Montrer les blocs
Show invisible characters=Montrer les caractères invisibles
Words: {0}=Mots: {0}
Insert=Insérer
File=Fichier
Edit=Editer
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=Zone de texte riche. Appuyer sur ALT-F9 pour afficher le menu. Sur ALT-F10 pour la barre d'outils. Sur ALT-0 for l'aide.
Tools=Outils
View=Vue
Table=Tableau
Alternative source=Alternative source
Paste your embed code below:=Paste your embed code below:
Insert video=Insert video
Embed=Embed
Nonbreaking space=Non-breaking space
Page break=Page break
Paste as text=Paste as text
Preview=Preview
Print=Print
Save=Save
Could not find the specified string.=Could not find the specified string.
Replace=Replace
Next=Next
Whole words=Whole words
Find and replace=Find and replace
Replace with=Replace with
Find=Find
Replace all=Replace all
Match case=Match case
Prev=Prev
Spellcheck=Spell-check
Finish=Finish
Ignore all=Ignore all
Ignore=Ignore
Insert row before=Insert row before
Rows=Rows
Height=Height
Paste row after=Paste row after
Alignment=Alignment
Column group=Column group
Row=Row
Insert column before=Insert column before
Split cell=Split cell
Cell padding=Cell padding
Cell spacing=Cell spacing
Row type=Row type
Insert table=Insert table
Body=Body
Caption=Caption
Footer=Footer
Delete row=Delete row
Paste row before=Paste row before
Scope=Scope
Delete table=Delete table
Header cell=Header cell
Column=Column
Cell=Cell
Header=Header
Cell type=Cell type
Copy row=Copy row
Row properties=Row properties
Table properties=Table properties
Row group=Row group
Right=Right
Insert column after=Insert column after
Cols=Cols
Insert row after=Insert row after
Width=Width
Cell properties=Cell properties
Left=Left
Cut row=Cut row
Delete column=Delete column
Center=Centre
Merge cells=Merge cells
Insert template=Insert template
Templates=Templates
Background color=Background colour
Text color=Text colour
Show blocks=Show blocks
Show invisible characters=Show invisible characters
Words: {0}=Words: {0}
Insert=Insert
File=File
Edit=Edit
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help
Tools=Tools
View=View
Table=Table
Format=Format
-1
View File
@@ -1 +0,0 @@
var MSG={"noTag":"Keine Tags","saveSuccess":"Speichern erfolgreich","none":"Keine","like":"Gefällt mir","unlike":"Gefällt mir nicht mehr","delete":"Löschen","cancel":"Abbrechen","confirm":"Bestätigen","chooseReason":"Grund angeben","reportSuccess":"Erfolg","error":"Fehler","reportComment?":"Kommentar?","reportBlog?":"Blog?","confirmDeleteComment":"Wirklich löschen?","scanQRCode":"weichat öffnen und QR Code scannen","justNow":"Jetzt","minutesAgo":"Minuten","hoursAgo":"Stunden","daysAgo":"Tage","weeksAgo":"Wochen","monthsAgo":"Monate"};function getMsg(key, data) {var msg = MSG[key];if(msg) {if(data) {if(!isArray(data)) {data = [data];}for(var i = 0; i < data.length; ++i) {msg = msg.replace("%s", data[i]);}}return msg;}return key;}
-1
View File
@@ -1 +0,0 @@
var MSG={"app":"Leanote","share":"Teilen","noTag":"Keine Tags","inputUsername":"Benutzernamen eingeben","inputEmail":"E-Mail ist erforderlich","inputPassword":"Passwort ist erforderlich","inputPassword2":"Bitte Passwort erneut eingeben","confirmPassword":"Bitte Passwort bestätigen","history":"Verlauf","editorTips":"Tips","editorTipsInfo":"<h4>1. Kurzbefehle</h4>ctrl+shift+c Ansicht ändern<h4>2. shift+enter Den aktuellen Block verlassen</h4> Beispiel: <img src=\"/images/outofcode.png\" style=\"width: 90px\"/> in dieser Situation nutze shift+enter um den derzeitigen Block zu verlassen.","all":"Neuste","trash":"Papierkorb","delete":"Löschen","unTitled":"Ohne Titel","defaultShare":"Standard Freigabe","writingMode":"Schreibmodus","normalMode":"Normaler Modus","saving":"Speichern","saveSuccess":"Speichern erfolgreich","update":"Aktualisieren","close":"Schliessen","cancel":"Abbrechen","send":"Senden","shareToFriends":"Mit Anderen teilen","publicAsBlog":"Blog veröffentlichen","cancelPublic":"Blog zurückziehen","move":"Verschieben","copy":"Kopieren","rename":"Umbenennen","exportPdf":"Export als PDF","addChildNotebook":"Neue Unter-Notizbuch","deleteAllShared":"Lösche gemeinsame Nutzer","deleteSharedNotebook":"Entfernen des freigegebenen Notizbuchs","copyToMyNotebook":"Zu meinen Notizbüchern kopieren","checkEmail":"E-Mail abrufen","sendVerifiedEmail":"Schicke Bestätigungsmail","defaulthhare":"Voreinstellung","friendEmail":"Friend E-Mail","readOnly":"Nur-Lesen","writable":"Schreibrechte","inputFriendEmail":"Bitte geben Sie Ihre Freunde E-Mail ein","clickToChangePermission":"Klicken Sie auf Berechtigungen ändern","sendInviteEmailToYourFriend":"Senden Sie die Einladung per E-Mail an Freunde","friendNotExits":"Der Benutzer hat %s's nicht registriert, Einladungs-Link:%s","emailBodyRequired":"E-Mail kann nicht leer sein","sendSuccess":"erfolgreich","inviteEmailBody":"Hallo, ich bin %s, %s ist grossartig, schau es dir an!","historiesNum":"Wir haben deine letzten <b>10</b> Einträge gespeichert.","noHistories":"Kein Verlauf","datetime":"Datum und Zeit","restoreFromThisVersion":"Wiederherstellen von dieser Version","confirmBackup":"Sind Sie sicher das die ausgewählte Version wiederhergestellt werden soll? Die aktuelle Notiz wird zuvor gesichert.","createAccountSuccess":"Konto-Erstellung erfolgreich","createAccountFailed":"Fehler beim Erstellen des Kontos","updateUsernameSuccess":"Aktualisierung des Nutzernamens war erfolgreich","usernameIsExisted":"Nutzername existiert bereits","noSpecialChars":"Nutzername darf keine Sonderzeichen enthalten","minLength":"Die Länge muss mindestens %s Zeichen betragen","errorEmail":"Bitte füge die richtige E-Mail ein","verifiedEmaiHasSent":"Die Verifizierungs-E-Mail wurde verschickt, bitte checke deine E-Mail.","emailSendFailed":"E-Mail-Verifizierung fehlgeschlagen","inputNewPassword":"Neues Passwort ist erforderlich","errorPassword":"Die länge des Passwortes sollte mindestenns 6 Zeichen und so komplex wie möglich sein","updatePasswordSuccess":"Aktualiseren des Passwortes erfolgreich","Please save note firstly!":"Bitte die Notiz zuerst speichen!","Please sign in firstly!":"Bitte zuerst anmelden!","Are you sure ?":"Sind Sie sicher ?","Are you sure to install it ?":"Wollen Sie das wirklich installieren ?","Are you sure to delete":"Wirklich Löschen","Success":"Erfolgreich","Error":"Fehler","File exists":"Datei existiert bereits","Delete file":"Datei löschen","No images":"Keine Bilder","Filename":"Dateiname","Group Title":"Gruppenname","Hyperlink":"Hyperlink","Please provide the link URL and an optional title":"Bitte URL und einen optionalen Titel angeben","optional title":"Optionaler Titel","Cancel":"Abbrechen","Strong":"Fett","strong text":"Text in Fettschrift","Emphasis":"Kursiv","emphasized text":"Kursiver Text","Blockquote":"Blockzitat","Code Sample":"Code Schnipsel","enter code here":"Code hier eingeben","Image":"Bild","Heading":"Überschrift","Numbered List":"Nummerierte Liste","Bulleted List":"Aufzählungsliste","List item":"Listenelement","Horizontal Rule":"Horizontaler Trennstrich","Markdown syntax":"Markdown Syntax","Undo":"Rückgängig","Redo":"Wiederholen","enter image description here":"Bildbeschreibung hier eingeben","enter link description here":"Link Beschreibung hier eingeben","Edit mode":"Bearbeiten Modus","Vim mode":"Vim Modus","Emacs mode":"Emacs Modus","Normal mode":"Normaler Modus","Normal":"Normal","Light":"Light","Light editor":"Light Editor","Add Album":"Album hinzufügen","Cannot delete default album":"Das Standard Album kann nicht gelöscht werden","Cannot rename default album":"Das Standard Album kann nicht umbenannt werden","Rename Album":"Album umbenennen","Add Success!":"Hinzufügen erfolgreich!","Rename Success!":"Umbenennen erfolgreich!","Delete Success!":"Löschen erfolgreich!","Are you sure to delete this image ?":"Soll dieses Bild wirklich gelöscht werden ?","click to remove this image":"Klicken um dieses Bild zu löschen","error":"Fehler","PrevLine truncated
-20
View File
@@ -1,20 +0,0 @@
(function(){function s(r){var i=function(e,t){return n("",e,t)},s=e;r&&(e[r]||(e[r]={}),s=e[r]);if(!s.define||!s.define.packaged)t.original=s.define,s.define=t,s.define.packaged=!0;if(!s.require||!s.require.packaged)n.original=s.require,s.require=i,s.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules||(t.modules={},t.payloads={}),t.payloads[e]=r,t.modules[e]=null},n=function(e,t,r){if(Object.prototype.toString.call(t)==="[object Array]"){var s=[];for(var o=0,u=t.length;o<u;++o){var a=i(e,t[o]);if(!a&&n.original)return n.original.apply(window,arguments);s.push(a)}r&&r.apply(null,s)}else{if(typeof t=="string"){var f=i(e,t);return!f&&n.original?n.original.apply(window,arguments):(r&&r(),f)}if(n.original)return n.original.apply(window,arguments)}},r=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return r(e,n[0])+"!"+r(e,n[1])}if(t.charAt(0)=="."){var i=e.split("/").slice(0,-1).join("/");t=i+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},i=function(e,i){i=r(e,i);var s=t.modules[i];if(!s){s=t.payloads[i];if(typeof s=="function"){var o={},u={id:i,uri:"",exports:o,packaged:!0},a=function(e,t){return n(i,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[i]=o,delete t.payloads[i]}s=t.modules[i]=o||s}return s};s(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===voiLine truncated
if(r) {
return i.showInvisibles ?
"<span class='ace_invisible ace_invisible_space ace_invalid'>"+i.SPACE_CHAR+"</span>"
: s.stringRepeat("\u00a0", e.length);
// return
}
else return (t+=1,"<span class='ace_cjk' style='width:"+i.config.characterWidth*2+"px'>"+e+"</span>");
},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",f,"'",l,">",a,"</span>")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a<t.length;a++){var f=t[a],l=f.value;if(a==0&&this.displayIndentGuides){i=l.length,l=this.renderIndentGuide(e,l,o);if(!l)continue;i-=l.length}if(i+l.length<o)u=this.$renderToken(e,u,f,l),i+=l.length;else{while(i+l.length>=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++)r=t[s],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){!r&&r!=0&&(r=this.session.getFoldLine(t));if(r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(Line truncated
(function() {
ace.require(["ace/ace"], function(a) {
a && a.config.init(true);
if (!window.ace)
window.ace = a;
for (var key in a) if (a.hasOwnProperty(key))
window.ace[key] = a[key];
});
})();
// 以下非ace.js文件里的, 只是markdown编辑器要用, mode-ace_mode.js
ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-blocLine truncated
+9 -1
View File
@@ -1,4 +1,12 @@
(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(thisLine truncated
(function(){function s(r){var i=function(e,t){return n("",e,t)},s=e;r&&(e[r]||(e[r]={}),s=e[r]);if(!s.define||!s.define.packaged)t.original=s.define,s.define=t,s.define.packaged=!0;if(!s.require||!s.require.packaged)n.original=s.require,s.require=i,s.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules||(t.modules={},t.payloads={}),t.payloads[e]=r,t.modules[e]=null},n=function(e,t,r){if(Object.prototype.toString.call(t)==="[object Array]"){var s=[];for(var o=0,u=t.length;o<u;++o){var a=i(e,t[o]);if(!a&&n.original)return n.original.apply(window,arguments);s.push(a)}r&&r.apply(null,s)}else{if(typeof t=="string"){var f=i(e,t);return!f&&n.original?n.original.apply(window,arguments):(r&&r(),f)}if(n.original)return n.original.apply(window,arguments)}},r=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return r(e,n[0])+"!"+r(e,n[1])}if(t.charAt(0)=="."){var i=e.split("/").slice(0,-1).join("/");t=i+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},i=function(e,i){i=r(e,i);var s=t.modules[i];if(!s){s=t.payloads[i];if(typeof s=="function"){var o={},u={id:i,uri:"",exports:o,packaged:!0},a=function(e,t){return n(i,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[i]=o,delete t.payloads[i]}s=t.modules[i]=o||s}return s};s(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===voiLine truncated
if(r) {
return i.showInvisibles ?
"<span class='ace_invisible ace_invisible_space ace_invalid'>"+i.SPACE_CHAR+"</span>"
: s.stringRepeat("\u00a0", e.length);
// return
}
else return (t+=1,"<span class='ace_cjk' style='width:"+i.config.characterWidth*2+"px'>"+e+"</span>");
},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",f,"'",l,">",a,"</span>")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a<t.length;a++){var f=t[a],l=f.value;if(a==0&&this.displayIndentGuides){i=l.length,l=this.renderIndentGuide(e,l,o);if(!l)continue;i-=l.length}if(i+l.length<o)u=this.$renderToken(e,u,f,l),i+=l.length;else{while(i+l.length>=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++)r=t[s],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){!r&&r!=0&&(r=this.session.getFoldLine(t));if(r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(Line truncated
(function() {
ace.require(["ace/ace"], function(a) {
a && a.config.init(true);
+1 -2
View File
@@ -291,8 +291,7 @@ listStr=addAnchors(listStr);listStr=listStr.replace(/\n{2,}(?=\\x03)/,"\n");list
styles: "safe",
fontsize: "all"
}
},
equationNumbers: { autoNumber: "AMS" }
}
},
messageStyle: "none"
});
-1
View File
@@ -1 +0,0 @@
tinymce.addI18n("de",{Cut:"Ausschneiden","Heading 5":"Überschrift 5","Header 2":"Überschrift 2","Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.":"Ihr Browser unterstützt leider keinen direkten Zugriff auf die Zwischenablage. Bitte benutzen Sie die Strg + X / C / V Tastenkombinationen.","Heading 4":"Überschrift 4",Div:"Textblock","Heading 2":"Überschrift 2",Paste:"Einfügen",Close:"Schließen","Font Family":"Schriftart",Pre:"Vorformatierter Text","Align right":"Rechtsbündig ausrichten","New document":"Neues Dokument",Blockquote:"Zitat","Numbered list":"Nummerierte Liste","Heading 1":"Überschrift 1",Headings:"Überschriften","Increase indent":"Einzug vergrößern",Formats:"Formate",Headers:"Überschriften","Select all":"Alles auswählen","Header 3":"Überschrift 3",Blocks:"Absatzformate",Undo:"Rückgängig",Strikethrough:"Durchgestrichen","Bullet list":"Aufzählung","Header 1":"Überschrift 1",Superscript:"Hochgestellt","Clear formatting":"Formatierung entfernen","Font Sizes":"Schriftgröße",Subscript:"Tiefgestellt","Header 6":"Überschrift 6",Redo:"Wiederholen",Paragraph:"Absatz",Ok:"Ok",Bold:"Fett",Code:"Quelltext",Italic:"Kursiv","Align center":"Zentriert ausrichten","Header 5":"Überschrift 5","Heading 6":"Überschrift 6","Heading 3":"Überschrift 3","Decrease indent":"Einzug verkleinern","Header 4":"Überschrift 4","Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.":"Einfügen ist nun im einfachen Textmodus. Inhalte werden ab jetzt als unformatierter Text eingefügt, bis Sie diese Einstellung wieder ausschalten!",Underline:"Unterstrichen",Cancel:"Abbrechen",Justify:"Blocksatz",Inline:"Zeichenformate",Copy:"Kopieren","Align left":"Linksbündig ausrichten","Visual aids":"Visuelle Hilfen","Lower Greek":"Griechische Kleinbuchstaben",Square:"Quadrat",Default:"Standard","Lower Alpha":"Kleinbuchstaben",Circle:"Kreis",Disc:"Punkt","Upper Alpha":"Großbuchstaben","Upper Roman":"Römische Zahlen (Großbuchstaben)","Lower Roman":"Römische Zahlen (Kleinbuchstaben)",Name:"Name",Anchor:"Textmarke","You have unsaved changes are you sure you want to navigate away?":"Die Änderungen wurden noch nicht gespeichert, sind Sie sicher, dass Sie diese Seite verlassen wollen?","Restore last draft":"Letzten Entwurf wiederherstellen","Special character":"Sonderzeichen","Source code":"Quelltext",B:"B",R:"R",G:"G",Color:"Farbe","Right to left":"Von rechts nach links","Left to right":"Von links nach rechts",Emoticons:"Emoticons",Robots:"Robots","Document properties":"Dokumenteigenschaften",Title:"Titel",Keywords:"Schüsselwörter",Encoding:"Zeichenkodierung",Description:"Beschreibung",Author:"Verfasser",Fullscreen:"Vollbild","Horizontal line":"Horizontale Linie","Horizontal space":"Horizontaler Abstand","Insert/edit image":"Bild einfügen/bearbeiten",General:"Allgemein",Advanced:"Erweitert",Source:"Quelle",Border:"Rahmen","Constrain proportions":"Seitenverhältnis beibehalten","Vertical space":"Vertikaler Abstand","Image description":"Bildbeschreibung",Style:"Stil",Dimensions:"Abmessungen","Insert image":"Bild einfügen","Zoom in":"Ansicht vergrößern",Contrast:"Kontrast",Back:"Zurück",Gamma:"Gamma","Flip horizontally":"Horizontal spiegeln",Resize:"Skalieren",Sharpen:"Schärfen","Zoom out":"Ansicht verkleinern","Image options":"Bildeigenschaften",Apply:"Anwenden",Brightness:"Helligkeit","Rotate clockwise":"Im Uhrzeigersinn drehen","Rotate counterclockwise":"Gegen den Uhrzeigersinn drehen","Edit image":"Bild bearbeiten","Color levels":"Farbwerte",Crop:"Bescheiden",Orientation:"Ausrichtung","Flip vertically":"Vertikal spiegeln",Invert:"Invertieren","Insert date/time":"Datum/Uhrzeit einfügen ","Remove link":"Link entfernen",Url:"URL","Text to display":"Anzuzeigender Text",Anchors:"Textmarken","Insert link":"Link einfügen","New window":"Neues Fenster",None:"Keine","The URL you entered seems to be an external link. Do you want to add the required http:// prefix?":'Diese Adresse scheint ein externer Link zu sein. Möchten Sie das dazu benötigte "http://" voranstellen?',Target:"Ziel","The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?":'Diese Adresse scheint eine E-Mail-Adresse zu sein. Möchten Sie das dazu benötigte "mailto:" voranstellen?',"Insert/edit link":"Link einfügen/bearbeiten","Insert/edit video":"Video einfügen/bearbeiten",Poster:"Poster","Alternative source":"Alternative Quelle","Paste your embed code below:":"Fügen Sie Ihren Einbettungscode hier ein:","Insert video":"Video einfügen",Embed:"Einbetten","Nonbreaking space":"Geschütztes Leerzeichen","Page break":"Seitenumbruch","Paste as text":"Als Text einfügen",Preview:"Vorschau",Print:"Drucken",Save:"Speichern","Could not find the specified string.":"Die Zeichenfolge wurde nicht gefunden.",Replace:"Ersetzen",Next:"Weiter","Whole words":"Nur ganze Wörter","Find and replace":"Suchen undLine truncated