Skip to content

Commit 57a51c1

Browse files
committed
README & LICENSE translated.
1 parent 2a07add commit 57a51c1

File tree

3 files changed

+198
-1
lines changed

3 files changed

+198
-1
lines changed

LICENSE.zh_CN

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
Apache许可证
2+
2.0版 2004年1月
3+
http://www.apache.org/licenses/
4+
5+
关于使用、复制和分发的条款
6+
7+
定义
8+
"许可证"是指根据本文件第1到第9部分关于使用、复制和分发的条款。
9+
10+
"许可证颁发者"是指版权所有者或者由版权所有者授权许可证的实体。
11+
12+
"法律实体"是指实施实体和进行控制的所有其它实体受该实体控制,或者受该实体集中控制。根据此定义,"控制"是指(i)让无论是否签订协议的上述实体,进行指导或管理的直接权利或间接权利,或者(ii)拥有百分之五十(50%)或以上已发行股票的所有者,或者(iii)上述实体的实权所有者。
13+
14+
"用户"(或"用户的")是指行使本许可证所授予权限的个人或法律实体。
15+
16+
"源程序"形式是指对包括但不限于软件源代码、文件源程序和配置文件进行修改的首选形式。
17+
18+
"目标"形式是指对源程序形式进行机械转换或翻译的任何形式,包括但不限于对编译的目标代码,生成的文件以及转换为其它媒体类型。
19+
20+
"作品"是指根据本许可证所制作的源程序形式或目标形式的著作,在著作中包含的或附加的版权通知(在下面附录中提供了一个示例)。
21+
22+
"衍生作品"是指基于作品(或从作品衍生而来)的源程序形式或目标形式的任何作品,以及编辑修订、注释、详细描述或其它修订等构成原创著作作品的整体。根据本许可证,衍生作品不得包括与作品及其衍生作品分离之作品,或仅与作品及其衍生作品的接口相链接(或按名称结合)之作品。
23+
24+
"贡献"是指任何著作作品,包括作品的原始版本和对该作品或衍生作品所做的任何修订或补充,意在提交给许可证颁发者以让版权所有者或代表版权所有者的授权个人或法律实体包含在其作品中。根据此定义,"提交"一词表示发送给许可证颁发者或其代表人,任何电子的、口头的或书面的交流信息形式,包括但不限于在由许可证颁发者或者代表其管理的电子邮件清单、源代码控制系统、以及发布跟踪系统上为讨论和提高作品的交流,但不包括由版权所有者以书面形式明显标注或指定为"非贡献"的交流活动。
25+
26+
"贡献者"是指许可证颁发者和代表从许可证颁发者接受之贡献的并随后包含在作品之贡献中的任何个人或法律实体。
27+
28+
版权许可证的授予。根据本许可证的条款,每个贡献者授予用户永久性的、全球性的、非专有性的、免费的、无版权费的、不可撤销的版权许可证以源程序形式或目标形式复制、准备衍生作品、公开显示、公开执行、授予分许可证、以及分发作品和这样的衍生作品。
29+
专利许可证的授予。根据本许可证的条款,每个贡献者授予用户永久性的、全球性的、非专有性的、免费的、无版权费的、不可撤销的(除在本部分进行说明)专利许可证对作品进行制作、让人制作、使用、提供销售、销售、进口和其它转让,且这样的许可证仅适用于在所递交作品的贡献中因可由单一的或多个这样的贡献者授予而必须侵犯的申请专利。如果用户对任何实体针对作品或作品中所涉及贡献提出因直接性或贡献性专利侵权而提起专利法律诉讼(包括交互诉讼请求或反索赔),那么根据本许可证,授予用户针对作品的任何专利许可证将在提起上述诉讼之日起终止。
30+
重新分发。用户可在任何媒介中复制和分发作品或衍生作品之副本,无论是否修订,还是以源程序形式或目标形式,条件是用户需满足下列条款:
31+
用户必须为作品或衍生作品的任何其他接收者提供本许可证的副本;并且
32+
用户必须让任何修改过的文件附带明显的通知,声明用户已更改文件;并且
33+
用户必须从作品的源程序形式中保留衍生作品源程序形式的用户所分发的所有版权、专利、商标和属性通知,但不包括不属于衍生作品任何部分的类似通知;并且
34+
如果作品将"通知"文本文件包括为其分发作品的一部分,那么用户分发的任何衍生作品中须至少在下列地方之一包括,在这样的通知文件中所包含的属性通知的可读副本,但不包括那些不属于衍生作品任何部分的通知:在作为衍生作品一部分而分发的通知文本文件中;如果与衍生作品一起提供则在源程序形式或文件中;或者通常作为第三方通知出现的时候和地方,在衍生作品中产生的画面中。通知文件的内容仅供信息提供,并未对许可证进行修改。用户可在其分发的衍生作品中在作品的通知文本后或作为附录添加自己的属性通知,条件是附加的属性通知不得构成修改本许可证。
35+
用户可以为自身所做出的修订添加自己的版权声明并可对自身所做出修订内容或为这样的衍生作品作为整体的使用、复制或分发提供附加或不同的条款,条件是用户对作品的使用、复制和分发必须符合本许可证中声明的条款。
36+
37+
贡献的提交。除非用户明确声明,在作品中由用户向许可证颁发者的提交若要包含在贡献中,必须在无任何附加条款下符合本许可证的条款。尽管上面如此规定,执行许可证颁发者有关贡献的条款时,任何情况下均不得替代或修改任何单独许可证协议的条款。
38+
商标。本许可证并未授予用户使用许可证颁发者的商号、商标、服务标记或产品名称,除非将这些名称用于合理性和惯例性描述作品起源和复制通知文件的内容时。
39+
保证否认条款。除非因适用法律需要或书面同意,许可证颁发者以"按原样"基础提供作品(并且每个贡献者提供其贡献),无任何明示的或暗示的保证或条件,包括但不限于关于所有权、不侵权、商品适销性、或适用性的保证或条件。用户仅对使用或重新分发作品的正确性负责,并需承担根据本许可证行使权限时的任何风险。
40+
责任限制条款。在任何情况下并根据任何法律,无论是因侵权(包括过失)或根据合同,还是其它原因,除非根据适用法律需要(例如故意行为和重大过失行为)或经书面同意,即使贡献者事先已被告知发生损害的可能性,任何贡献者不就用户因使用本许可证或不能使用或无法使用作品(包括但不限于商誉损失、停工、计算机失效或故障,或任何商业损坏或损失)而造成的损失,包括直接的、非直接的、特殊的、意外的或间接的字符损坏而负责。
41+
接受保证或附加责任。重新分发作品或及其衍生作品时,用户可选择提供或为符合本许可证承担之支持、担保、赔偿或其它职责义务和/或权利而收取费用。但是,在承担上述义务时,用户只可代表用户本身和用户本身责任来执行,无需代表任何其它贡献者,并且用户仅可保证、防护并保持每个贡献者不受任何因此而产生的责任或对因用户自身承担这样的保证或附加责任而对这样的贡献者所提出的索赔。
42+
条款结束
43+
44+
附录:如何向用户作品中应用Apache许可证。
45+
46+
若要向用户作品应用Apache许可证,请附加下列样本通知,将括号"[]"中的字段以用户自身的区分信息来替换(但不包括括号)。文本必须以文件格式适当的注释句法包含在其中。另外建议将文件名或类别名以及目的说明包含在相同的"打印页"上作为版权通知,以更加容易的区分出第三方档案。
47+
48+
版权所有[yyyy][版权所有者的名称]
49+
50+
根据2.0版本Apache许可证("许可证")授权;
51+
根据本许可证,用户可以不使用此文件。
52+
用户可从下列网址获得许可证副本:
53+
54+
http://www.apache.org/licenses/LICENSE-2.0
55+
56+
除非因适用法律需要或书面同意,
57+
根据许可证分发的软件是基于"按原样"基础提供,
58+
无任何明示的或暗示的保证或条件。
59+
详见根据许可证许可下,特定语言的管辖权限和限制。

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# PerfectTemplate
1+
# PerfectTemplate [简体中文](README.zh_CN.md)
22

33
<p align="center">
44
<a href="http://perfect.org/get-involved.html" target="_blank">

README.zh_CN.md

+138
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# PerfectTemplate [English](https://github.com/PerfectlySoft/PerfectTemplate)
2+
3+
<p align="center">
4+
<a href="http://perfect.org/get-involved.html" target="_blank">
5+
<img src="http://perfect.org/assets/github/perfect_github_2_0_0.jpg" alt="Get Involed with Perfect!" width="854" />
6+
</a>
7+
</p>
8+
9+
<p align="center">
10+
<a href="https://github.com/PerfectlySoft/Perfect" target="_blank">
11+
<img src="http://www.perfect.org/github/Perfect_GH_button_1_Star.jpg" alt="Star Perfect On Github" />
12+
</a>
13+
<a href="http://stackoverflow.com/questions/tagged/perfect" target="_blank">
14+
<img src="http://www.perfect.org/github/perfect_gh_button_2_SO.jpg" alt="Stack Overflow" />
15+
</a>
16+
<a href="https://twitter.com/perfectlysoft" target="_blank">
17+
<img src="http://www.perfect.org/github/Perfect_GH_button_3_twit.jpg" alt="Follow Perfect on Twitter" />
18+
</a>
19+
<a href="http://perfect.ly" target="_blank">
20+
<img src="http://www.perfect.org/github/Perfect_GH_button_4_slack.jpg" alt="Join the Perfect Slack" />
21+
</a>
22+
</p>
23+
24+
<p align="center">
25+
<a href="https://developer.apple.com/swift/" target="_blank">
26+
<img src="https://img.shields.io/badge/Swift-3.0-orange.svg?style=flat" alt="Swift 3.0">
27+
</a>
28+
<a href="https://developer.apple.com/swift/" target="_blank">
29+
<img src="https://img.shields.io/badge/Platforms-OS%20X%20%7C%20Linux%20-lightgray.svg?style=flat" alt="Platforms OS X | Linux">
30+
</a>
31+
<a href="http://perfect.org/licensing.html" target="_blank">
32+
<img src="https://img.shields.io/badge/License-Apache-lightgrey.svg?style=flat" alt="License Apache">
33+
</a>
34+
<a href="http://twitter.com/PerfectlySoft" target="_blank">
35+
<img src="https://img.shields.io/badge/Twitter-@PerfectlySoft-blue.svg?style=flat" alt="PerfectlySoft Twitter">
36+
</a>
37+
<a href="http://perfect.ly" target="_blank">
38+
<img src="http://perfect.ly/badge.svg" alt="Slack Status">
39+
</a>
40+
</p>
41+
42+
Perfect Web服务器项目模板
43+
44+
本代码用于软件工程师在此基础之上开发Web服务器及其应用。您可以直接克隆本项目进行后续开发。该项目通过SPM软件包管理器编译,并能够生成一个可以独立运行的HTTP服务器。
45+
46+
###Swift兼容性
47+
48+
本项目必须使用Swift 3.0工具链及Xcode 8.0+,或者通过Linux安装[Swift.org](http://swift.org/)
49+
50+
## Swift 版本注意事项
51+
52+
因为Xcode 8发行后出现了一些问题,如果您直接在Xcode下使用,我们建议安装swiftenv,以及 Swift 3.0.1 工具集预览版。
53+
54+
```
55+
# after installing swiftenv from https://swiftenv.fuller.li/en/latest/
56+
swiftenv install https://swift.org/builds/swift-3.0.1-preview-1/xcode/swift-3.0.1-PREVIEW-1/swift-3.0.1-PREVIEW-1-osx.pkg
57+
```
58+
59+
还有一种方式,就是在您Xcode中增加一个配置,即在项目设置“Project Settings”里面,查找条目“Library Search Paths”,然后将这个条目配置为“$(PROJECT_DIR)”,并且⚠️配置为⚠️递归形式“recursive”。这样就会通知编译器根据项目所在文件夹进行递归式检索项目所需要的函数库和参考引用。
60+
61+
## 编译运行
62+
63+
为了创建项目并且试验运行,请在终端命令行中输入以下内容。完成后就可以实现一个在本地网络8181端口工作的Web服务器。
64+
65+
```
66+
git clone https://github.com/PerfectlySoft/PerfectTemplate.git
67+
cd PerfectTemplate
68+
swift build
69+
.build/debug/PerfectTemplate
70+
```
71+
72+
如果没有问题,输出应该看起来像是这样:
73+
74+
```
75+
Starting HTTP server on 0.0.0.0:8181 with document root ./webroot
76+
```
77+
78+
这表明服务器已经准备好并且等待连接了。请访问[http://localhost:8181/](http://127.0.0.1:8181/) 来查看欢迎信息。在终端命令行上输入control-c组合键即可停止Web服务。
79+
80+
## 快速上手
81+
82+
以下的源代码展示了一个最简单的“你好,世界!”样例。
83+
84+
```swift
85+
import PerfectLib
86+
import PerfectHTTP
87+
import PerfectHTTPServer
88+
89+
// 创建HTTP服务器
90+
let server = HTTPServer()
91+
92+
// 注册自定义路由和页面句柄
93+
var routes = Routes()
94+
routes.add(method: .get, uri: "/", handler: {
95+
request, response in
96+
response.appendBody(string: "<html><head><meta http-equiv='content-type' content='text/html;charset=utf-8'><title>你好,世界!</title></head><body>你好,世界!</body></html>")
97+
response.completed()
98+
}
99+
)
100+
101+
// 将路由注册到服务器
102+
server.addRoutes(routes)
103+
104+
// 监听8181端口
105+
server.serverPort = 8181
106+
107+
// 设置文档根目录。
108+
// 这个操作是可选的,如果没有静态页面内容则可以忽略这一步。
109+
// 设置文档根目录后,对于其他所有未经过滤器或已注册路由来说的其他路径“/**”,都会指向这个根目录下的文件。
110+
server.documentRoot = "./webroot"
111+
112+
// 逐个检查命令行参数和服务器配置
113+
// 如果用命令行执行带 --help 参数的服务器可执行程序,就可以看到所有可以选择的参数。
114+
// 如果调用时在命令行参数,而且该参数在配置文件中也有说明,则命令行参数的值会取代配置文件。
115+
configureServer(server)
116+
117+
do {
118+
// 启动HTTP服务器
119+
try server.start()
120+
} catch PerfectError.networkError(let err, let msg) {
121+
print("网络异常: \(err) \(msg)")
122+
}
123+
```
124+
125+
126+
127+
## 问题报告
128+
129+
目前我们已经把所有错误报告合并转移到了JIRA上,因此github原有的错误汇报功能不能用于本项目。
130+
131+
您的任何宝贵建意见或建议,或者发现我们的程序有问题,欢迎您在这里告诉我们。[http://jira.perfect.org:8080/servicedesk/customer/portal/1](http://jira.perfect.org:8080/servicedesk/customer/portal/1)
132+
133+
目前问题清单请参考以下链接: [http://jira.perfect.org:8080/projects/ISS/issues](http://jira.perfect.org:8080/projects/ISS/issues)
134+
135+
136+
137+
## 更多内容
138+
关于Perfect更多内容,请参考[perfect.org](http://perfect.org)官网。

0 commit comments

Comments
 (0)