[Notice] Announcing the End of Demo Server [Read me]

apply HIVE CSS including trivial fix.
delete milestone manage page that combined with milestone list page
@8f688a47de468c2ffe2ec2562397c27de464a0eb
--- app/views/issue/editIssue.scala.html
+++ app/views/issue/editIssue.scala.html
... | ... | @@ -168,4 +168,4 @@ |
168 | 168 |
}); |
169 | 169 |
</script> |
170 | 170 |
|
171 |
-} |
|
171 |
+}(No newline at end of file) |
--- app/views/issue/issue.scala.html
+++ app/views/issue/issue.scala.html
... | ... | @@ -228,4 +228,4 @@ |
228 | 228 |
}); |
229 | 229 |
}); |
230 | 230 |
</script> |
231 |
-} |
|
231 |
+}(No newline at end of file) |
--- app/views/issue/newIssue.scala.html
+++ app/views/issue/newIssue.scala.html
... | ... | @@ -143,4 +143,4 @@ |
143 | 143 |
}); |
144 | 144 |
}); |
145 | 145 |
</script> |
146 |
-} |
|
146 |
+}(No newline at end of file) |
--- app/views/login.scala.html
+++ app/views/login.scala.html
... | ... | @@ -44,4 +44,4 @@ |
44 | 44 |
</div> |
45 | 45 |
</div> |
46 | 46 |
|
47 |
-} |
|
47 |
+}(No newline at end of file) |
--- app/views/milestone/create.scala.html
+++ app/views/milestone/create.scala.html
... | ... | @@ -1,65 +1,65 @@ |
1 |
-@(title:String, form: Form[Milestone], project: Project) |
|
2 |
- |
|
3 |
-@import utils.TemplateHelper._ |
|
4 |
-@import models.enumeration._ |
|
5 |
- |
|
6 |
-@main(title, project, utils.MenuType.MILESTONE) { |
|
7 |
-<div class="page"> |
|
8 |
- @prjmenu(project, utils.MenuType.MILESTONE, "") |
|
9 |
- |
|
10 |
- <div class="form-wrap milestone frm-wrap"> |
|
11 |
- <form class="nm" action="@routes.MilestoneApp.newMilestone(project.owner, project.name)" method="post"> |
|
12 |
- <div class="inner left"> |
|
13 |
- <dl> |
|
14 |
- <dt> |
|
15 |
- <label for="title">@Messages("milestone.form.title")</label> |
|
16 |
- </dt> |
|
17 |
- <dd> |
|
18 |
- <input type="text" name="title" id="title" class="text" placeholder=""> |
|
19 |
- </dd> |
|
20 |
- |
|
21 |
- <dt> |
|
22 |
- <label for="contents">@Messages("milestone.form.content")</label> |
|
23 |
- </dt> |
|
24 |
- <dd> |
|
25 |
- <textarea class="textarea" id="contents" name="contents"></textarea> |
|
26 |
- </dd> |
|
27 |
- </dl> |
|
28 |
- |
|
29 |
- <div class="actions"> |
|
30 |
- <button type="submit" class="nbtn orange medium">@Messages("button.save")</button> |
|
31 |
- <a href="@routes.MilestoneApp.milestones(project.owner, project.name)" class="nbtn medium">@Messages("button.cancel")</a> |
|
32 |
- </div> |
|
33 |
- </div> |
|
34 |
- |
|
35 |
- <div class="inner right bubble-wrap dark-gray"> |
|
36 |
- <p>@Messages("milestone.form.state")</p> |
|
37 |
- <div> |
|
38 |
- <input type="radio" name="state" value="@State.OPEN" id="milestone-open" class="radio-btn" checked="checked"><label for="milestone-open" class="bold">@Messages("milestone.state.open")</label> |
|
39 |
- |
|
40 |
- <input type="radio" name="state" value="@State.CLOSED" id="milestone-close" class="radio-btn"><label for="milestone-close" class="bold">@Messages("milestone.state.closed")</label> |
|
41 |
- </div> |
|
42 |
- <hr/> |
|
43 |
- <p>@Messages("milestone.form.dueDate")</p> |
|
44 |
- <label for="dueDate"> |
|
45 |
- <input type="text" name="dueDate" id="dueDate" class="validate due-date"> |
|
46 |
- </label> |
|
47 |
- <div id="datepicker" class="date-picker"></div> |
|
48 |
- |
|
49 |
- </div> |
|
50 |
- </form> |
|
51 |
- </div> |
|
52 |
-</div> |
|
53 |
- |
|
54 |
-<link rel="stylesheet" type="text/css" href="@getCSSLink("pikaday")" /> |
|
55 |
-<script type="text/javascript" src="@getJSLink("lib/moment.min")"></script> |
|
56 |
-<script type="text/javascript" src="@getJSLink("lib/pikaday")"></script> |
|
57 |
-<script type="text/javascript"> |
|
58 |
- $(document).ready(function() { |
|
59 |
- $hive.loadModule("milestone.Write", { |
|
60 |
- "elDueDate" : $("#dueDate"), |
|
61 |
- "elDatePicker": $("#datepicker") |
|
62 |
- }); |
|
63 |
- }); |
|
64 |
-</script> |
|
65 |
-} |
|
1 |
+@(title:String, form: Form[Milestone], project: Project) |
|
2 |
+ |
|
3 |
+@import utils.TemplateHelper._ |
|
4 |
+@import models.enumeration._ |
|
5 |
+ |
|
6 |
+@main(title, project, utils.MenuType.MILESTONE) { |
|
7 |
+<div class="page"> |
|
8 |
+ @prjmenu(project, utils.MenuType.MILESTONE, "") |
|
9 |
+ |
|
10 |
+ <div class="form-wrap milestone frm-wrap"> |
|
11 |
+ <form class="nm" action="@routes.MilestoneApp.newMilestone(project.owner, project.name)" method="post"> |
|
12 |
+ <div class="inner left"> |
|
13 |
+ <dl> |
|
14 |
+ <dt> |
|
15 |
+ <label for="title">@Messages("milestone.form.title")</label> |
|
16 |
+ </dt> |
|
17 |
+ <dd> |
|
18 |
+ <input type="text" name="title" id="title" class="text" placeholder=""> |
|
19 |
+ </dd> |
|
20 |
+ |
|
21 |
+ <dt> |
|
22 |
+ <label for="contents">@Messages("milestone.form.content")</label> |
|
23 |
+ </dt> |
|
24 |
+ <dd> |
|
25 |
+ <textarea class="textarea" id="contents" name="contents"></textarea> |
|
26 |
+ </dd> |
|
27 |
+ </dl> |
|
28 |
+ |
|
29 |
+ <div class="actions"> |
|
30 |
+ <button type="submit" class="nbtn orange medium">@Messages("button.save")</button> |
|
31 |
+ <a href="@routes.MilestoneApp.milestones(project.owner, project.name)" class="nbtn medium">@Messages("button.cancel")</a> |
|
32 |
+ </div> |
|
33 |
+ </div> |
|
34 |
+ |
|
35 |
+ <div class="inner right bubble-wrap dark-gray"> |
|
36 |
+ <p>@Messages("milestone.form.state")</p> |
|
37 |
+ <div> |
|
38 |
+ <input type="radio" name="state" value="@State.OPEN" id="milestone-open" class="radio-btn" checked="checked"><label for="milestone-open" class="bold">@Messages("milestone.state.open")</label> |
|
39 |
+ |
|
40 |
+ <input type="radio" name="state" value="@State.CLOSED" id="milestone-close" class="radio-btn"><label for="milestone-close" class="bold">@Messages("milestone.state.closed")</label> |
|
41 |
+ </div> |
|
42 |
+ <hr/> |
|
43 |
+ <p>@Messages("milestone.form.dueDate")</p> |
|
44 |
+ <label for="dueDate"> |
|
45 |
+ <input type="text" name="dueDate" id="dueDate" class="validate due-date"> |
|
46 |
+ </label> |
|
47 |
+ <div id="datepicker" class="date-picker"></div> |
|
48 |
+ |
|
49 |
+ </div> |
|
50 |
+ </form> |
|
51 |
+ </div> |
|
52 |
+</div> |
|
53 |
+ |
|
54 |
+<link rel="stylesheet" type="text/css" href="@getCSSLink("pikaday")" /> |
|
55 |
+<script type="text/javascript" src="@getJSLink("lib/moment.min")"></script> |
|
56 |
+<script type="text/javascript" src="@getJSLink("lib/pikaday")"></script> |
|
57 |
+<script type="text/javascript"> |
|
58 |
+ $(document).ready(function() { |
|
59 |
+ $hive.loadModule("milestone.Write", { |
|
60 |
+ "elDueDate" : $("#dueDate"), |
|
61 |
+ "elDatePicker": $("#datepicker") |
|
62 |
+ }); |
|
63 |
+ }); |
|
64 |
+</script> |
|
65 |
+}(No newline at end of file) |
--- app/views/milestone/edit.scala.html
+++ app/views/milestone/edit.scala.html
... | ... | @@ -1,70 +1,70 @@ |
1 |
-@(title: String, form: Form[Milestone], milestoneId: Long, project: Project) |
|
2 |
- |
|
3 |
-@import utils.TemplateHelper._ |
|
4 |
-@import models.enumeration._ |
|
5 |
-@implicitField = @{ helper.FieldConstructor(simpleForm) } |
|
6 |
- |
|
7 |
-@main(title, project, utils.MenuType.MILESTONE) { |
|
8 |
-<div class="page"> |
|
9 |
- @prjmenu(project, utils.MenuType.MILESTONE, "") |
|
10 |
- |
|
11 |
- <div class="form-wrap milestone frm-wrap"> |
|
12 |
- <form class="nm" action="@routes.MilestoneApp.editMilestone(project.owner, project.name, milestoneId)" method="post"> |
|
13 |
- <div class="inner left"> |
|
14 |
- <dl> |
|
15 |
- <dt> |
|
16 |
- <label for="title">@Messages("milestone.form.title")</label> |
|
17 |
- </dt> |
|
18 |
- <dd> |
|
19 |
- @helper.input(form("title")){(id, name, value, args) => |
|
20 |
- <input type="text" name="@name" id="@id" class="text" value="@value"> |
|
21 |
- } |
|
22 |
- </dd> |
|
23 |
- |
|
24 |
- <dt> |
|
25 |
- <label for="contents">@Messages("milestone.form.content")</label> |
|
26 |
- </dt> |
|
27 |
- <dd> |
|
28 |
- @helper.input(form("contents")){(id, name, value, args) => |
|
29 |
- <textarea class="textarea" id="@id" name="@name">@value</textarea> |
|
30 |
- } |
|
31 |
- </dd> |
|
32 |
- </dl> |
|
33 |
- |
|
34 |
- <div class="actions"> |
|
35 |
- <button type="submit" class="nbtn orange medium">@Messages("button.save")</button> |
|
36 |
- <a href="@routes.MilestoneApp.milestones(project.owner, project.name)" class="nbtn medium">@Messages("button.cancel")</a> |
|
37 |
- </div> |
|
38 |
- </div> |
|
39 |
- |
|
40 |
- <div class="inner right bubble-wrap dark-gray"> |
|
41 |
- <p>@Messages("milestone.form.state")</p> |
|
42 |
- <div> |
|
43 |
- <input type="radio" name="state" value="@State.OPEN" id="milestone-open" class="radio-btn" @if(form("state").value.equals(State.OPEN.name)) { checked="checked" }><label for="milestone-open" class="bold">Open</label> |
|
44 |
- <input type="radio" name="state" value="@State.CLOSED" id="milestone-close" class="radio-btn" @if(form("state").value.equals(State.CLOSED.name)) { checked="checked" }><label for="milestone-close" class="bold">Closed</label> |
|
45 |
- </div> |
|
46 |
- <hr/> |
|
47 |
- <p>@Messages("milestone.form.dueDate")</p> |
|
48 |
- <label for="dueDate"> |
|
49 |
- @helper.input(form("dueDate")){(id, name, value, args) => |
|
50 |
- <input type="text" name="@name" id="@id" class="validate due-date" value="@value"> |
|
51 |
- } |
|
52 |
- </label> |
|
53 |
- <div id="datepicker" class="date-picker"></div> |
|
54 |
- </div> |
|
55 |
- </form> |
|
56 |
- </div> |
|
57 |
-</div> |
|
58 |
- |
|
59 |
-<link rel="stylesheet" type="text/css" href="@getCSSLink("pikaday")" /> |
|
60 |
-<script type="text/javascript" src="@getJSLink("lib/moment.min")"></script> |
|
61 |
-<script type="text/javascript" src="@getJSLink("lib/pikaday")"></script> |
|
62 |
-<script type="text/javascript"> |
|
63 |
- $(document).ready(function() { |
|
64 |
- $hive.loadModule("milestone.Write", { |
|
65 |
- "elDueDate" : $("#dueDate"), |
|
66 |
- "elDatePicker": $("#datepicker") |
|
67 |
- }); |
|
68 |
- }); |
|
69 |
-</script> |
|
70 |
-} |
|
1 |
+@(title: String, form: Form[Milestone], milestoneId: Long, project: Project) |
|
2 |
+ |
|
3 |
+@import utils.TemplateHelper._ |
|
4 |
+@import models.enumeration._ |
|
5 |
+@implicitField = @{ helper.FieldConstructor(simpleForm) } |
|
6 |
+ |
|
7 |
+@main(title, project, utils.MenuType.MILESTONE) { |
|
8 |
+<div class="page"> |
|
9 |
+ @prjmenu(project, utils.MenuType.MILESTONE, "") |
|
10 |
+ |
|
11 |
+ <div class="form-wrap milestone frm-wrap"> |
|
12 |
+ <form class="nm" action="@routes.MilestoneApp.editMilestone(project.owner, project.name, milestoneId)" method="post"> |
|
13 |
+ <div class="inner left"> |
|
14 |
+ <dl> |
|
15 |
+ <dt> |
|
16 |
+ <label for="title">@Messages("milestone.form.title")</label> |
|
17 |
+ </dt> |
|
18 |
+ <dd> |
|
19 |
+ @helper.input(form("title")){(id, name, value, args) => |
|
20 |
+ <input type="text" name="@name" id="@id" class="text" value="@value"> |
|
21 |
+ } |
|
22 |
+ </dd> |
|
23 |
+ |
|
24 |
+ <dt> |
|
25 |
+ <label for="contents">@Messages("milestone.form.content")</label> |
|
26 |
+ </dt> |
|
27 |
+ <dd> |
|
28 |
+ @helper.input(form("contents")){(id, name, value, args) => |
|
29 |
+ <textarea class="textarea" id="@id" name="@name">@value</textarea> |
|
30 |
+ } |
|
31 |
+ </dd> |
|
32 |
+ </dl> |
|
33 |
+ |
|
34 |
+ <div class="actions"> |
|
35 |
+ <button type="submit" class="nbtn orange medium">@Messages("button.save")</button> |
|
36 |
+ <a href="@routes.MilestoneApp.milestones(project.owner, project.name)" class="nbtn medium">@Messages("button.cancel")</a> |
|
37 |
+ </div> |
|
38 |
+ </div> |
|
39 |
+ |
|
40 |
+ <div class="inner right bubble-wrap dark-gray"> |
|
41 |
+ <p>@Messages("milestone.form.state")</p> |
|
42 |
+ <div> |
|
43 |
+ <input type="radio" name="state" value="@State.OPEN" id="milestone-open" class="radio-btn" @if(form("state").value.equals(State.OPEN.name)) { checked="checked" }><label for="milestone-open" class="bold">Open</label> |
|
44 |
+ <input type="radio" name="state" value="@State.CLOSED" id="milestone-close" class="radio-btn" @if(form("state").value.equals(State.CLOSED.name)) { checked="checked" }><label for="milestone-close" class="bold">Closed</label> |
|
45 |
+ </div> |
|
46 |
+ <hr/> |
|
47 |
+ <p>@Messages("milestone.form.dueDate")</p> |
|
48 |
+ <label for="dueDate"> |
|
49 |
+ @helper.input(form("dueDate")){(id, name, value, args) => |
|
50 |
+ <input type="text" name="@name" id="@id" class="validate due-date" value="@value"> |
|
51 |
+ } |
|
52 |
+ </label> |
|
53 |
+ <div id="datepicker" class="date-picker"></div> |
|
54 |
+ </div> |
|
55 |
+ </form> |
|
56 |
+ </div> |
|
57 |
+</div> |
|
58 |
+ |
|
59 |
+<link rel="stylesheet" type="text/css" href="@getCSSLink("pikaday")" /> |
|
60 |
+<script type="text/javascript" src="@getJSLink("lib/moment.min")"></script> |
|
61 |
+<script type="text/javascript" src="@getJSLink("lib/pikaday")"></script> |
|
62 |
+<script type="text/javascript"> |
|
63 |
+ $(document).ready(function() { |
|
64 |
+ $hive.loadModule("milestone.Write", { |
|
65 |
+ "elDueDate" : $("#dueDate"), |
|
66 |
+ "elDatePicker": $("#datepicker") |
|
67 |
+ }); |
|
68 |
+ }); |
|
69 |
+</script> |
|
70 |
+}(No newline at end of file) |
--- app/views/milestone/list.scala.html
+++ app/views/milestone/list.scala.html
... | ... | @@ -1,129 +1,129 @@ |
1 |
-@(title: String, milestones: List[models.Milestone], project: Project, param: MilestoneApp.MilestoneCondition) |
|
2 |
-@import scala.collection.immutable._ |
|
3 |
-@import utils.TemplateHelper._ |
|
4 |
- |
|
5 |
-@urlToList = {@routes.MilestoneApp.milestones(project.owner, project.name)} |
|
6 |
- |
|
7 |
-@makeFilterLink(fieldName:String, orderBy:String, orderDir:String, fieldText:String) = { |
|
8 |
- @if(orderBy.equals(fieldName)) { |
|
9 |
- <a href="@urlToList?orderBy=@fieldName&orderDir=@if(orderDir.equals("desc")){asc}else{desc}" class="filter active"><i class="ico btn-gray-arrow @if(orderDir.equals("desc")){ down }"></i>@fieldText</a> |
|
10 |
- } else { |
|
11 |
- <a href="@urlToList?orderBy=@fieldName&orderDir=asc" class="filter"><i class="ico btn-gray-arrow"></i>@fieldText</a> |
|
12 |
- } |
|
13 |
-} |
|
14 |
- |
|
15 |
-@makeMilestoneListLink(_state: String) = @{ |
|
16 |
- buildQueryString(routes.MilestoneApp.milestones(project.owner, project.name), |
|
17 |
- Map("state"->_state) |
|
18 |
- ) |
|
19 |
-} |
|
20 |
- |
|
21 |
-@makeIssuesLink(mId: Long, _state: String) = @{ |
|
22 |
- buildQueryString(routes.IssueApp.issues(project.owner, project.name, _state), |
|
23 |
- Map("milestone"->mId.toString) |
|
24 |
- ) |
|
25 |
-} |
|
26 |
- |
|
27 |
-@main(title, project, utils.MenuType.MILESTONE) { |
|
28 |
-<div class="page"> |
|
29 |
- @prjmenu(project, utils.MenuType.MILESTONE, "") |
|
30 |
- |
|
31 |
- <div class="tab-wrap"> |
|
32 |
- <div class="pull-right btns"> |
|
33 |
- <a href="@routes.MilestoneApp.newMilestoneForm(project.owner, project.name)" class="nbtn medium orange">@Messages("milestone.menu.new")</a> |
|
34 |
- </div> |
|
35 |
- |
|
36 |
- <ul class="nav nav-tabs"> |
|
37 |
- <li class="@if(param.state.equals("all")){active}"> |
|
38 |
- <a href="@makeMilestoneListLink("all")">@Messages("milestone.state.all")</a> |
|
39 |
- </li> |
|
40 |
- <li class="@if(param.state.equals("open")){active}"> |
|
41 |
- <a href="@makeMilestoneListLink("open")">@Messages("milestone.state.open")</a> |
|
42 |
- </li> |
|
43 |
- <li class="@if(param.state.equals("closed")){active}"> |
|
44 |
- <a href="@makeMilestoneListLink("closed")">@Messages("milestone.state.closed")</a> |
|
45 |
- </li> |
|
46 |
- </ul> |
|
47 |
- </div> |
|
48 |
- |
|
49 |
- @if(milestones == null || milestones.isEmpty()){ |
|
50 |
- |
|
51 |
- <div class="error-wrap"> |
|
52 |
- <i class="ico ico-err1"></i> |
|
53 |
- <p>@Messages("milestone.is.empty")</p> |
|
54 |
- </div> |
|
55 |
- |
|
56 |
- } else { |
|
57 |
- |
|
58 |
- @if(milestones.length > 1){ |
|
59 |
- <div class="filter-wrap milestone"> |
|
60 |
- <div class="filters"> |
|
61 |
- @makeFilterLink("dueDate", param.orderBy, param.orderDir, Messages("order.dueDate")) |
|
62 |
- @makeFilterLink("completionRate", param.orderBy, param.orderDir, Messages("order.completionRate")) |
|
63 |
- </div> |
|
64 |
- <div class="legend"> |
|
65 |
- <i class="gray"></i>@Messages("issue.state.open") |
|
66 |
- <i class="blue"></i>@Messages("issue.state.assigned") |
|
67 |
- <i class="orange"></i>@Messages("issue.state.closed") |
|
68 |
- </div> |
|
69 |
- </div> |
|
70 |
- } |
|
71 |
- |
|
72 |
- <ul class="milestones"> |
|
73 |
- @for(milestone <- milestones){ |
|
74 |
- <li class="milestone"> |
|
75 |
- <div class="infos"> |
|
76 |
- @**<!-- |
|
77 |
- <ul class="contributors"> |
|
78 |
- <li class="contributor"> |
|
79 |
- <a href="/uname" class="img-rounded"><img src="/assets/images/default-avatar-34.png"></a> |
|
80 |
- </li> |
|
81 |
- </ul> |
|
82 |
- -->**@ |
|
83 |
- |
|
84 |
- <div class="meta-info"> |
|
85 |
- <strong class="version"></strong> |
|
86 |
- <a href="@routes.MilestoneApp.editMilestoneForm(project.owner, project.name, milestone.id)" class="title">@milestone.title</a> |
|
87 |
- <span class="sp">|</span> |
|
88 |
- <span class="due-date">@Messages("label.dueDate") <strong>@milestone.getDueDateString</strong></span> |
|
89 |
- </div> |
|
90 |
- |
|
91 |
- <div class="progress-wrap"> |
|
92 |
- <div class="progress"> |
|
93 |
- <div class="bar orange" style="width: @milestone.getCompletionRate%;"></div> |
|
94 |
- @** |
|
95 |
- <!-- |
|
96 |
- <div class="bar blue" style="width: 30%"></div> |
|
97 |
- --> |
|
98 |
- **@ |
|
99 |
- </div> |
|
100 |
- <div class="progress-label"> |
|
101 |
- @** 0% 일 수도 있어서 최소한의 텍스트 영역 확보 **@ |
|
102 |
- <div class="pull-left" style="width: @milestone.getCompletionRate%; min-width:100px;"> |
|
103 |
- <a href="@makeIssuesLink(milestone.id,"closed")">@Messages("milestone.state.closed") <strong>@milestone.getCompletionRate%</strong></a> |
|
104 |
- </div> |
|
105 |
- <div class="pull-right"> |
|
106 |
- <a href="@makeIssuesLink(milestone.id,"open")">@Messages("issue.state.open") <strong>@{100 - milestone.getCompletionRate}%</strong></a> |
|
107 |
- </div> |
|
108 |
- </div> |
|
109 |
- </div> |
|
110 |
- |
|
111 |
- <div class="desc"> |
|
112 |
- @milestone.contents |
|
113 |
- </div> |
|
114 |
- |
|
115 |
- <div class="actrow"> |
|
116 |
- <a href="@routes.MilestoneApp.editMilestoneForm(project.owner, project.name, milestone.id)" class="nbtn medium black"><i class="ico ico-delete-small"></i>@Messages("button.delete")</a><!-- |
|
117 |
- --><a href="@routes.MilestoneApp.editMilestoneForm(project.owner, project.name, milestone.id)" class="nbtn medium white"><i class="ico ico-edit-small"></i>@Messages("button.edit")</a> |
|
118 |
- </div> |
|
119 |
- </div> |
|
120 |
- <div class="completion-rate @if(milestone.getCompletionRate == 100){done}"><!-- |
|
121 |
- -->@milestone.getCompletionRate<!-- |
|
122 |
- --><i>%</i> |
|
123 |
- </div> |
|
124 |
- </li> |
|
125 |
- } |
|
126 |
- </ul> |
|
127 |
- |
|
128 |
- } |
|
129 |
-} |
|
1 |
+@(title: String, milestones: List[models.Milestone], project: Project, param: MilestoneApp.MilestoneCondition) |
|
2 |
+@import scala.collection.immutable._ |
|
3 |
+@import utils.TemplateHelper._ |
|
4 |
+ |
|
5 |
+@urlToList = {@routes.MilestoneApp.milestones(project.owner, project.name)} |
|
6 |
+ |
|
7 |
+@makeFilterLink(fieldName:String, orderBy:String, orderDir:String, fieldText:String) = { |
|
8 |
+ @if(orderBy.equals(fieldName)) { |
|
9 |
+ <a href="@urlToList?orderBy=@fieldName&orderDir=@if(orderDir.equals("desc")){asc}else{desc}" class="filter active"><i class="ico btn-gray-arrow @if(orderDir.equals("desc")){ down }"></i>@fieldText</a> |
|
10 |
+ } else { |
|
11 |
+ <a href="@urlToList?orderBy=@fieldName&orderDir=asc" class="filter"><i class="ico btn-gray-arrow"></i>@fieldText</a> |
|
12 |
+ } |
|
13 |
+} |
|
14 |
+ |
|
15 |
+@makeMilestoneListLink(_state: String) = @{ |
|
16 |
+ buildQueryString(routes.MilestoneApp.milestones(project.owner, project.name), |
|
17 |
+ Map("state"->_state) |
|
18 |
+ ) |
|
19 |
+} |
|
20 |
+ |
|
21 |
+@makeIssuesLink(mId: Long, _state: String) = @{ |
|
22 |
+ buildQueryString(routes.IssueApp.issues(project.owner, project.name, _state), |
|
23 |
+ Map("milestone"->mId.toString) |
|
24 |
+ ) |
|
25 |
+} |
|
26 |
+ |
|
27 |
+@main(title, project, utils.MenuType.MILESTONE) { |
|
28 |
+<div class="page"> |
|
29 |
+ @prjmenu(project, utils.MenuType.MILESTONE, "") |
|
30 |
+ |
|
31 |
+ <div class="tab-wrap"> |
|
32 |
+ <div class="pull-right btns"> |
|
33 |
+ <a href="@routes.MilestoneApp.newMilestoneForm(project.owner, project.name)" class="nbtn medium orange">@Messages("milestone.menu.new")</a> |
|
34 |
+ </div> |
|
35 |
+ |
|
36 |
+ <ul class="nav nav-tabs"> |
|
37 |
+ <li class="@if(param.state.equals("all")){active}"> |
|
38 |
+ <a href="@makeMilestoneListLink("all")">@Messages("milestone.state.all")</a> |
|
39 |
+ </li> |
|
40 |
+ <li class="@if(param.state.equals("open")){active}"> |
|
41 |
+ <a href="@makeMilestoneListLink("open")">@Messages("milestone.state.open")</a> |
|
42 |
+ </li> |
|
43 |
+ <li class="@if(param.state.equals("closed")){active}"> |
|
44 |
+ <a href="@makeMilestoneListLink("closed")">@Messages("milestone.state.closed")</a> |
|
45 |
+ </li> |
|
46 |
+ </ul> |
|
47 |
+ </div> |
|
48 |
+ |
|
49 |
+ @if(milestones == null || milestones.isEmpty()){ |
|
50 |
+ |
|
51 |
+ <div class="error-wrap"> |
|
52 |
+ <i class="ico ico-err1"></i> |
|
53 |
+ <p>@Messages("milestone.is.empty")</p> |
|
54 |
+ </div> |
|
55 |
+ |
|
56 |
+ } else { |
|
57 |
+ |
|
58 |
+ @if(milestones.length > 1){ |
|
59 |
+ <div class="filter-wrap milestone"> |
|
60 |
+ <div class="filters"> |
|
61 |
+ @makeFilterLink("dueDate", param.orderBy, param.orderDir, Messages("order.dueDate")) |
|
62 |
+ @makeFilterLink("completionRate", param.orderBy, param.orderDir, Messages("order.completionRate")) |
|
63 |
+ </div> |
|
64 |
+ <div class="legend"> |
|
65 |
+ <i class="gray"></i>@Messages("issue.state.open") |
|
66 |
+ <i class="blue"></i>@Messages("issue.state.assigned") |
|
67 |
+ <i class="orange"></i>@Messages("issue.state.closed") |
|
68 |
+ </div> |
|
69 |
+ </div> |
|
70 |
+ } |
|
71 |
+ |
|
72 |
+ <ul class="milestones"> |
|
73 |
+ @for(milestone <- milestones){ |
|
74 |
+ <li class="milestone"> |
|
75 |
+ <div class="infos"> |
|
76 |
+ @**<!-- |
|
77 |
+ <ul class="contributors"> |
|
78 |
+ <li class="contributor"> |
|
79 |
+ <a href="/uname" class="img-rounded"><img src="/assets/images/default-avatar-34.png"></a> |
|
80 |
+ </li> |
|
81 |
+ </ul> |
|
82 |
+ -->**@ |
|
83 |
+ |
|
84 |
+ <div class="meta-info"> |
|
85 |
+ <strong class="version"></strong> |
|
86 |
+ <a href="@routes.MilestoneApp.editMilestoneForm(project.owner, project.name, milestone.id)" class="title">@milestone.title</a> |
|
87 |
+ <span class="sp">|</span> |
|
88 |
+ <span class="due-date">@Messages("label.dueDate") <strong>@milestone.getDueDateString</strong></span> |
|
89 |
+ </div> |
|
90 |
+ |
|
91 |
+ <div class="progress-wrap"> |
|
92 |
+ <div class="progress"> |
|
93 |
+ <div class="bar orange" style="width: @milestone.getCompletionRate%;"></div> |
|
94 |
+ @** |
|
95 |
+ <!-- |
|
96 |
+ <div class="bar blue" style="width: 30%"></div> |
|
97 |
+ --> |
|
98 |
+ **@ |
|
99 |
+ </div> |
|
100 |
+ <div class="progress-label"> |
|
101 |
+ @** 0% 일 수도 있어서 최소한의 텍스트 영역 확보 **@ |
|
102 |
+ <div class="pull-left" style="width: @milestone.getCompletionRate%; min-width:100px;"> |
|
103 |
+ <a href="@makeIssuesLink(milestone.id,"closed")">@Messages("milestone.state.closed") <strong>@milestone.getCompletionRate%</strong></a> |
|
104 |
+ </div> |
|
105 |
+ <div class="pull-right"> |
|
106 |
+ <a href="@makeIssuesLink(milestone.id,"open")">@Messages("issue.state.open") <strong>@{100 - milestone.getCompletionRate}%</strong></a> |
|
107 |
+ </div> |
|
108 |
+ </div> |
|
109 |
+ </div> |
|
110 |
+ |
|
111 |
+ <div class="desc"> |
|
112 |
+ @milestone.contents |
|
113 |
+ </div> |
|
114 |
+ |
|
115 |
+ <div class="actrow"> |
|
116 |
+ <a href="@routes.MilestoneApp.editMilestoneForm(project.owner, project.name, milestone.id)" class="nbtn medium black"><i class="ico ico-delete-small"></i>@Messages("button.delete")</a><!-- |
|
117 |
+ --><a href="@routes.MilestoneApp.editMilestoneForm(project.owner, project.name, milestone.id)" class="nbtn medium white"><i class="ico ico-edit-small"></i>@Messages("button.edit")</a> |
|
118 |
+ </div> |
|
119 |
+ </div> |
|
120 |
+ <div class="completion-rate @if(milestone.getCompletionRate == 100){done}"><!-- |
|
121 |
+ -->@milestone.getCompletionRate<!-- |
|
122 |
+ --><i>%</i> |
|
123 |
+ </div> |
|
124 |
+ </li> |
|
125 |
+ } |
|
126 |
+ </ul> |
|
127 |
+ |
|
128 |
+ } |
|
129 |
+}(No newline at end of file) |
--- app/views/project/create.scala.html
+++ app/views/project/create.scala.html
... | ... | @@ -98,4 +98,4 @@ |
98 | 98 |
}); |
99 | 99 |
}); |
100 | 100 |
</script> |
101 |
-} |
|
101 |
+}(No newline at end of file) |
--- app/views/site/lostPassword.scala.html
+++ app/views/site/lostPassword.scala.html
... | ... | @@ -43,4 +43,4 @@ |
43 | 43 |
</div> |
44 | 44 |
</form> |
45 | 45 |
|
46 |
-} |
|
46 |
+}(No newline at end of file) |
--- app/views/user/signup.scala.html
+++ app/views/user/signup.scala.html
... | ... | @@ -66,4 +66,4 @@ |
66 | 66 |
$hive.loadModule("user.SignUp"); |
67 | 67 |
}); |
68 | 68 |
</script> |
69 |
-} |
|
69 |
+}(No newline at end of file) |
--- conf/messages.ko
+++ conf/messages.ko
... | ... | @@ -1,444 +1,444 @@ |
1 |
-# Messages |
|
2 |
-title.newIssue = 새 이슈 |
|
3 |
-title.issueList = 이슈 목록 |
|
4 |
-title.issueDetail = 이슈 상세보기 |
|
5 |
-title.editIssue = 이슈 수정 |
|
6 |
-title.newMilestone = 새 마일스톤 |
|
7 |
-title.milestoneList = 마일스톤 목록 |
|
8 |
-title.editMilestone = 마일스톤 수정 |
|
9 |
-title.milestoneManage = 마일스톤 관리 |
|
10 |
-title.projectHome = Overview |
|
11 |
-title.newProject = 새 프로젝트 시작 |
|
12 |
-title.projectSetting = 프로젝트 설정 |
|
13 |
-title.memberList = 멤버 목록 |
|
14 |
-title.post.notExistingPage = 존재하지 않는 게시물 |
|
15 |
-title.siteSetting = 사이트 설정 |
|
16 |
-title.site.userEdit = 사용자 설정 |
|
17 |
-title.login = 로그인 |
|
18 |
-title.logout = 로그아웃 |
|
19 |
-title.signup = 회원 가입 |
|
20 |
-title.forgotpassword = 비밀번호를 잊어버리셨나요? |
|
21 |
-title.rememberMe = 로그인 유지하기 |
|
22 |
-title.commitHistory = 커밋 히스토리 |
|
23 |
-title.mailSetting = 메일 설정 |
|
24 |
-title.sendMail = 메일 발송 |
|
25 |
-title.massMail = 대량 메일 발송 |
|
26 |
-title.projectList = 프로젝트 목록 |
|
27 |
-title.help = 도움말 |
|
28 |
-title.search = 검색 |
|
29 |
-title.resetPassword = 비밀번호 재설정 |
|
30 |
- |
|
31 |
-hive.name = HIVE |
|
32 |
-hive.title = 협업개발 플랫폼 |
|
33 |
-hive.description = Make it better and simpler! |
|
34 |
- |
|
35 |
-menu.home = 홈 |
|
36 |
-menu.board = 게시판 |
|
37 |
-menu.code = 코드 |
|
38 |
-menu.issue = 이슈 |
|
39 |
-menu.wiki = 위키 |
|
40 |
-menu.admin = 프로젝트 설정 |
|
41 |
-menu.siteAdmin = 사이트 관리 |
|
42 |
-menu.task = 작업 |
|
43 |
- |
|
44 |
-message.warning = 경고 |
|
45 |
-message.success = 성공 |
|
46 |
-message.info = 정보 |
|
47 |
- |
|
48 |
-label.title = 제목 |
|
49 |
-label.contents = 내용 |
|
50 |
-label.state = 상태 |
|
51 |
-label.assignee = 담당자 |
|
52 |
-label.date = 작성일 |
|
53 |
-label.id = # |
|
54 |
-label.dueDate = 완료일 |
|
55 |
-label.new = 새 라벨 |
|
56 |
-label.customColor = 색 |
|
57 |
-label.category = 분류 |
|
58 |
-label.name = 이름 |
|
59 |
-label.add = 라벨 추가 |
|
60 |
-label.manage = 라벨 관리 |
|
61 |
-label.confirm.delete = 라벨을 삭제하면 이슈에 지정한 라벨도 함께 제거됩니다. 정말 삭제하시겠습니까? |
|
62 |
-label.select = 라벨 선택 |
|
63 |
-label.error.duplicated = 라벨 생성에 실패했습니다.\n이미 동일한 라벨이 존재할지도 모릅니다. |
|
64 |
-label.error.creationFailed = 라벨 생성에 실패했습니다.\n서버에 문제가 있거나 올바른 요청이 아닐 수 있습니다. |
|
65 |
- |
|
66 |
-order.all = 전체 |
|
67 |
-order.date = 날짜순 |
|
68 |
-order.state = 상태순 |
|
69 |
-order.comments = 댓글순 |
|
70 |
-order.completionRate = 완료율순 |
|
71 |
-order.dueDate = 완료일순 |
|
72 |
-order.name = 이름순 |
|
73 |
-order.recent = 생성일자순 |
|
74 |
- |
|
75 |
-button.save = 저장 |
|
76 |
-button.confirm = 확인 |
|
77 |
-button.cancel = 취소 |
|
78 |
-button.reset = 다시쓰기 |
|
79 |
-button.edit = 수정 |
|
80 |
-button.delete = 삭제 |
|
81 |
-button.list = 목록 |
|
82 |
-button.selectFile = 파일 선택 |
|
83 |
-button.comment.new = 댓글 입력 |
|
84 |
-button.autoNotification = 자동알림 |
|
85 |
-button.excelDownload = Excel |
|
86 |
-button.yes = 예 |
|
87 |
-button.no = 아니요 |
|
88 |
-button.popup.exit = x |
|
89 |
-button.add = 추가 |
|
90 |
-button.login = 로그인 |
|
91 |
-button.signup = 가입하기 |
|
92 |
-button.newProject = 새 프로젝트 만들기 |
|
93 |
-button.detail = 자세히 |
|
94 |
-button.apply = 적용 |
|
95 |
-button.back = 돌아가기 |
|
96 |
-button.upload = 파일 올리기 |
|
97 |
-button.user.makeAccountUnlock.true = 잠김해제 |
|
98 |
-button.user.makeAccountUnlock.false = 계정잠그기 |
|
99 |
- |
|
100 |
-checkbox.commented = 댓글 |
|
101 |
-checkbox.fileAttached = 첨부파일 |
|
102 |
- |
|
103 |
-input.mandatory = 필수 입력 사항 |
|
104 |
-input.optional = 선택 입력 사항 |
|
105 |
- |
|
106 |
-#Milestone |
|
107 |
-milestone.state.all = 전체 |
|
108 |
-milestone.state.open = 진행중 |
|
109 |
-milestone.state.closed = 완료 |
|
110 |
-milestone.is.empty = 등록된 마일스톤이 없습니다 |
|
111 |
-milestone.menu.manage = 마일스톤 관리 |
|
112 |
-milestone.menu.new = 새 마일스톤 |
|
113 |
-milestone.none = 없음 |
|
114 |
-milestone.title.duplicated = 마일스톤 제목이 다른것과 중복 됩니다. 다른 제목을 사용하세요. |
|
115 |
-milestone.form.title = 마일스톤 제목 |
|
116 |
-milestone.form.content = 내용을 입력해주세요 |
|
117 |
-milestone.form.state = 마일스톤 상태 |
|
118 |
-milestone.form.dueDate = 완료일을 선택하세요 |
|
119 |
-milestone.error.title = 마일스톤 제목을 입력해주세요 |
|
120 |
-milestone.error.content = 마일스톤 내용을 입력해주세요 |
|
121 |
-milestone.error.duedateFormat = 완료일 형식이 잘못되었습니다. YYYY-MM-DD 형식으로 입력해주세요. |
|
122 |
- |
|
123 |
-#Issue |
|
124 |
-issue.state.unit = 이슈 |
|
125 |
-issue.state = 상태 |
|
126 |
-issue.state.all = 전체 |
|
127 |
-issue.state.open = 미해결 |
|
128 |
-issue.state.closed = 해결 |
|
129 |
-issue.state.assigned = 할당됨 |
|
130 |
-issue.state.enrolled = 등록 |
|
131 |
-issue.state.solved = 해결됨 |
|
132 |
-issue.state.finished = 완료됨 |
|
133 |
-issue.is.empty = 등록된 이슈가 없습니다. |
|
134 |
-issue.menu.searchDefault = 이슈 검색 |
|
135 |
-issue.menu.milestoneSelectDefault = 마일스톤 선택 |
|
136 |
-issue.menu.new = 새 이슈 |
|
137 |
-issue.new.detailInfo = 세부정보 |
|
138 |
-issue.new.detailInfo.issueType = 유형 |
|
139 |
-issue.new.detailInfo.issueType.worst = 치명결함 |
|
140 |
-issue.new.detailInfo.issueType.worse = 중결함 |
|
141 |
-issue.new.detailInfo.issueType.bad = 경결함 |
|
142 |
-issue.new.detailInfo.issueType.enhancement = 단순개선 |
|
143 |
-issue.new.detailInfo.issueType.recommendation = 권고사항 |
|
144 |
-issue.new.detailInfo.assignee = 담당자 |
|
145 |
-issue.new.detailInfo.component = 컴포넌트 |
|
146 |
-issue.new.detailInfo.milestone = 마일스톤 |
|
147 |
-issue.new.environment = 환경 |
|
148 |
-issue.new.environment.osType = 운영체제 |
|
149 |
-issue.new.environment.osType.windows = Windows |
|
150 |
-issue.new.environment.osType.Mac = Mac OS X |
|
151 |
-issue.new.environment.osType.Linux = Linux |
|
152 |
-issue.new.environment.browserType = 브라우저 |
|
153 |
-issue.new.environment.browserType.ie = IE |
|
154 |
-issue.new.environment.browserType.chrome = Chrome |
|
155 |
-issue.new.environment.browserType.firefox = Firefox |
|
156 |
-issue.new.environment.browserType.safari = Safari |
|
157 |
-issue.new.environment.browserType.opera = Opera |
|
158 |
-issue.new.environment.dbmsType = DBMS |
|
159 |
-issue.new.environment.dbmsType.postgreSQL = PostgreSQL |
|
160 |
-issue.new.environment.dbmsType.CUBRID = CUBRID |
|
161 |
-issue.new.environment.dbmsType.MySQL = MySQL |
|
162 |
-issue.new.result = 확인결과 |
|
163 |
-issue.new.result.importance = 중요도 |
|
164 |
-issue.new.result.importance.highest = 매우 중요 |
|
165 |
-issue.new.result.importance.high = 중요 |
|
166 |
-issue.new.result.importance.average = 보통 |
|
167 |
-issue.new.result.importance.low = 낮음 |
|
168 |
-issue.new.result.importance.lowest = 매우 낮음 |
|
169 |
-issue.new.result.diagnosisResult = 진단 결과 |
|
170 |
-issue.new.result.diagnosisResult.bug = 버그확인 |
|
171 |
-issue.new.result.diagnosisResult.fixed = 수정완료 |
|
172 |
-issue.new.result.diagnosisResult.willNotFixed = 수정안함 |
|
173 |
-issue.new.result.diagnosisResult.notaBug = 버그아님 |
|
174 |
-issue.new.result.diagnosisResult.awaitingResponse = 응답대기 |
|
175 |
-issue.new.result.diagnosisResult.unreproducible = 재현불가 |
|
176 |
-issue.new.result.diagnosisResult.duplicated = 중복 |
|
177 |
-issue.new.result.diagnosisResult.works4me= 잘동작함 |
|
178 |
-issue.author = 등록자 |
|
179 |
-issue.assignee = 담당자 |
|
180 |
-issue.noAssignee = 없음 |
|
181 |
-issue.delete.window = 이슈 삭제 |
|
182 |
-issue.comment.delete.window = 이슈 댓글 삭제 |
|
183 |
-issue.new.selectDefault.milestone = --마일스톤 선택-- |
|
184 |
-issue.new.selectDefault.issueType = --유형 선택-- |
|
185 |
-issue.new.selectDefault.assignee = --담당자 선택-- |
|
186 |
-issue.new.selectDefault.component = --컴포넌트 선택-- |
|
187 |
-issue.new.selectDefault.osType = --운영체제 종류 선택-- |
|
188 |
-issue.new.selectDefault.browserType = --브라우저 종류 선택-- |
|
189 |
-issue.new.selectDefault.dbmsType = --DBMS 선택-- |
|
190 |
-issue.new.selectDefault.importance = --중요도 선택-- |
|
191 |
-issue.new.selectDefault.diagnosisResult = --진단결과 선택-- |
|
192 |
-issue.comment.delete.confirm = 해당 이슈의 댓글을 삭제하시겠습니까? |
|
193 |
-issue.committer.edit = 이슈수정 |
|
194 |
-issue.advancedSearch = 고급검색 |
|
195 |
-issue.downloadAsExcel = 엑셀파일로 다운받기 |
|
196 |
-issue.search = 검색 |
|
197 |
-issue.error.emptyTitle = 이슈 제목을 입력해주세요 |
|
198 |
-issue.error.emptyBody = 이슈 내용을 입력해주세요 |
|
199 |
-issue.title = 제목 |
|
200 |
-issue.createdDate = 작성일 |
|
201 |
-issue.attachment = 첨부파일 |
|
202 |
-issue.numOfComments = 댓글개수 |
|
203 |
- |
|
204 |
-#Post |
|
205 |
-post.new = 새글 |
|
206 |
-post.write = 글쓰기 |
|
207 |
-post.new.title = 제목 |
|
208 |
-post.new.contents = 내용 |
|
209 |
-post.new.filePath = 파일 경로 |
|
210 |
-post.author = 글쓴이 |
|
211 |
-post.notice = 공지사항 |
|
212 |
-post.notice.label = 이 글을 공지사항으로 설정합니다 |
|
213 |
-post.age = 나이 |
|
214 |
-post.menu.search = 검색 |
|
215 |
-post.delete.confirm = 해당 게시물이 삭제되면 영원히 복구할 수 없습니다. 그래도 삭제하시겠습니까? |
|
216 |
-post.new.fileAttach = 첨부파일 |
|
217 |
-post.popup.fileAttach.title = 첨부파일 선택 |
|
218 |
-post.popup.fileAttach.contents = 첨부할 파일을 선택해주세요. |
|
219 |
-post.edit.rejectNotAuthor = 글쓴이가 아닙니다. |
|
220 |
-post.update.error = 입력값 오류 |
|
221 |
-post.title = 제목 |
|
222 |
-post.createdDate = 작성일 |
|
223 |
-post.attachment = 첨부파일 |
|
224 |
-post.numOfComments = 댓글개수 |
|
225 |
-post.error.emptyTitle = 글 제목을 입력해주세요 |
|
226 |
-post.error.emptyBody = 글 내용을 입력해주세요 |
|
227 |
- |
|
228 |
-#Project |
|
229 |
-project.myproject = 내 프로젝트 |
|
230 |
-project.create = 프로젝트 생성 |
|
231 |
-project.name = 프로젝트 이름 |
|
232 |
-project.name.placeholder = 프로젝트 이름을 입력해주세요. |
|
233 |
-project.owner = 소유자 이름 |
|
234 |
-project.name.alert = 프로젝트 이름은 URL로 사용할 수 있는 글자(영문자,숫자,-'하이픈')만 허용합니다 |
|
235 |
-project.name.duplicate = 이미 같은 이름의 프로젝트가 있습니다 |
|
236 |
-project.description = 설명 |
|
237 |
-project.description.placeholder = 프로젝트 설명을 입력해주세요 |
|
238 |
-project.shareOption = 공개 설정 |
|
239 |
-projects = 프로젝트 |
|
240 |
-project.all = 모든 |
|
241 |
-project.public = 공개 |
|
242 |
-project.private = 비공개 |
|
243 |
-project.private.notice = 비공개 프로젝트도 프로젝트 이름,설명,로고 등은 모든 사용자가 볼 수 있습니다 |
|
244 |
-project.isAuthorEditable = 작성자 수정/삭제 권한 설정 |
|
245 |
-project.isAuthorEditable.on = 가능 |
|
246 |
-project.isAuthorEditable.off = 불가능 |
|
247 |
-project.vcs = 코드관리시스템 |
|
248 |
-project.new.agreement = 본인은 약관에 대한 안내를 읽었으며 이에 동의합니다 |
|
249 |
-project.new.agreement.alert = 이용 악관에 동의해야 합니다 |
|
250 |
-project.agreement = 이용 약관 |
|
251 |
-project.name.rule = 이름 규칙 |
|
252 |
-project.info = 프로젝트 정보 |
|
253 |
-project.members = 개발자 |
|
254 |
-project.members.addMember = 새로운 멤버의 아이디를 입력하세요 |
|
255 |
-project.member.isManager = 프로젝트 관리자 권한이 필요합니다 |
|
256 |
-project.member.alreadyMember = 이미 프로젝트에 가입되어 있는 멤버입니다. |
|
257 |
-project.member.deleteConfirm = 정말로 해당 사용자를 프로젝트에서 탈퇴시키겠습니까? |
|
258 |
-project.member.delete = 프로젝트 사용자 삭제 |
|
259 |
-project.member.notExist = 존재하지 않는 사용자입니다. |
|
260 |
-project.member.ownerCannotLeave = 프로젝트 소유자는 탈퇴할 수 없습니다. |
|
261 |
-project.member.ownerMustBeAManager = 프로젝트 소유자는 관리 권한을 가져야 합니다. |
|
262 |
-project.sidebar = 프로젝트 설정 |
|
263 |
-project.setting = 설정 |
|
264 |
-project.member = 멤버 |
|
265 |
-project.milestone = 마일스톤 |
|
266 |
-project.sidebar.plugin = 플러그인 |
|
267 |
-project.sidebar.help = 도움말 |
|
268 |
-project.logo.type = 파일형식 |
|
269 |
-project.logo.maxFileSize = 최대파일크기 |
|
270 |
-project.logo.fileSizeAlert = 이미지 용량은 1MB 이하여야 합니다. |
|
271 |
-project.logo.size = 사이즈 |
|
272 |
-project.logo = 프로젝트 로고 |
|
273 |
-project.logo.alert = 이미지 파일이 아닙니다. |
|
274 |
-project.siteurl = 사이트 주소 |
|
275 |
-project.siteurl.alert = 사이트 URL은 http://로 시작해야 합니다. |
|
276 |
-project.delete = 프로젝트 삭제 |
|
277 |
-project.delete.this = 프로젝트를 삭제합니다. |
|
278 |
-project.delete.description = 프로젝트를 삭제하게되면 코드,위키,이슈관리 등 모든 데이터가 삭제되며 한번 삭제된 데이터는 복구가 불가능합니다. |
|
279 |
-project.delete.accept = 프로젝트를 삭제하는데 동의합니다. |
|
280 |
-project.delete.requestion = 프로젝트를 삭제하시겠습니까? |
|
281 |
-project.delete.reaccept = 정말로 삭제하시겠습니까? |
|
282 |
-project.delete.alert = 프로젝트 삭제에 동의하여야 합니다. |
|
283 |
-project.new.vcsType.git = Git |
|
284 |
-project.new.vcsType.subversion = Subversion |
|
285 |
-project.readme = 프로젝트에 대한 설명을 README.md 파일로 작성해서 코드저장소에 추가하면 이 곳에 나타납니다. |
|
286 |
-project.searchPlaceholder = 현재 프로젝트에서 검색 |
|
287 |
-project.wrongName = 프로젝트 이름이 올바르지 않습니다. |
|
288 |
-project.tags = 태그 |
|
289 |
-project.license = 라이센스 |
|
290 |
-project.codeLanguage = 프로그래밍 언어 |
|
291 |
- |
|
292 |
-#Site |
|
293 |
-site.sidebar = 사이트 관리 |
|
294 |
-site.sidebar.setting = 설정 |
|
295 |
-site.sidebar.userList = 사용자 |
|
296 |
-site.sidebar.postList = 게시물 |
|
297 |
-site.sidebar.issueList = 이슈 |
|
298 |
-site.sidebar.projectList = 프로젝트 설정 |
|
299 |
-site.sidebar.softwareMap = 소프트웨어 맵 |
|
300 |
-site.sidebar.mailSend = 메일 발송 |
|
301 |
-site.sidebar.massMail = 대량 메일 발송 |
|
302 |
-site.project.filter = 찾으려는 프로젝트 이름을 입력하세요 |
|
303 |
-site.userList.search = 찾으려는 사용자의 ID를 입력하세요 |
|
304 |
-site.userList.isActive = 활성 상태 |
|
305 |
-site.userList.deleteAlert = 프로젝트의 유일한 관리자이므로 사이트에서 삭제할 수 없습니다. |
|
306 |
-site.user.delete = 사용자 삭제 |
|
307 |
-site.user.deleteConfirm = 정말로 해당 사용자를 사이트에서 탈퇴시키겠습니까? |
|
308 |
-site.project.delete = 프로젝트 삭제 |
|
309 |
-site.project.deleteConfirm = 정말로 해당 프로젝트를 사이트에서 삭제하겠습니까? |
|
310 |
-site.userlist.unlocked = 활성화된 사용자 목록 |
|
311 |
-site.userlist.locked = 계정이 잠긴 사용자 목록 |
|
312 |
-site.massMail.toAll = 모두에게 |
|
313 |
-site.massMail.toProjects = 특정 프로젝트의 멤버들에게 |
|
314 |
-site.massMail.loading = 불러오는중... |
|
315 |
- |
|
316 |
- |
|
317 |
-#User |
|
318 |
-user.loginId = 아이디 |
|
319 |
-user.yourLoginId = yourLoginId |
|
320 |
-user.wrongloginId.alert = 올바른 아이디를 입력하세요. |
|
321 |
-user.loginId.duplicate = 이미 존재하는 아이디입니다. |
|
322 |
-user.login.alert = 로그인이 필요합니다. |
|
323 |
-user.password = 비밀번호 |
|
324 |
-user.newPassword = 신규 비밀번호 |
|
325 |
-user.confirmPassword = 비밀번호 확인 |
|
326 |
-user.confirmPassword.alert = 입력한 두 비밀번호가 서로 일치하지 않습니다 |
|
327 |
-user.wrongPassword.alert = 잘못된 비밀번호입니다! |
|
328 |
-user.name = 이름 |
|
329 |
-user.email = 이메일 |
|
330 |
-user.yourEmail = yourEmail@address.com |
|
331 |
-user.wrongEmail.alert = 이메일이 잘못되었습니다. |
|
332 |
-user.login.failed = 아이디 또는 비밀번호가 잘못되었습니다. |
|
333 |
-user.logout.success = 로그아웃했습니다 |
|
334 |
-user.isAlreadySignupUser = 이미 가입하셨나요? |
|
335 |
-user.signupId = 아이디 |
|
336 |
-user.signupBtn = 참여하기 |
|
337 |
-user.loginWithNewPassword = 새로 설정한 비밀번호로 로그인 하세요 |
|
338 |
-user.notExists.name = 존재하지 않는 사용자입니다. |
|
339 |
-user.locked = 잠긴 사용자 계정입니다. |
|
340 |
-user.isLocked = 잠김여부 |
|
341 |
-user.signup.requested = HIVE 가입이 요청되었습니다. 사이트 관리자가 검토/승인 후 사용가능합니다. 감사합니다. |
|
342 |
- |
|
343 |
-#Role |
|
344 |
-role.manager = 관리자 |
|
345 |
-role.member = 참여자 |
|
346 |
-role.anonymous = 익명 사용자 |
|
347 |
-role.guest = 지나가던 사람 |
|
348 |
-role.sitemanager = 사이트 관리자 |
|
349 |
- |
|
350 |
-#Time |
|
351 |
-time.just = 방금 전 |
|
352 |
-time.second = {0} 초 전 |
|
353 |
-time.seconds = {0} 초 전 |
|
354 |
-time.minute = {0} 분 전 |
|
355 |
-time.minutes = {0} 분 전 |
|
356 |
-time.hour = {0} 시간 전 |
|
357 |
-time.hours = {0} 시간 전 |
|
358 |
-time.day = {0} 일 전 |
|
359 |
-time.days = {0} 일 전 |
|
360 |
- |
|
361 |
-#Board |
|
362 |
-board.post.empty = 제목과 본문에 빈칸이 있습니다. |
|
363 |
-board.post.notExist = 존재하지 않는 게시물입니다. |
|
364 |
-board.post.new = 새 게시물 |
|
365 |
-board.post.modify = 게시물 수정 |
|
366 |
-board.comment.empty = 댓글 내용은 반드시 입력해야 합니다. |
|
367 |
-board.notAuthor = 글쓴이가 아닙니다. |
|
368 |
- |
|
369 |
-#Search |
|
370 |
-label.writer = 글쓴이 |
|
371 |
-post.is.empty = 등록된 게시물이 없습니다. |
|
372 |
-title.contentSearchResult = 컨텐츠 검색 결과 |
|
373 |
- |
|
374 |
-#Vaildation |
|
375 |
-error.required = 필수 입력란입니다. |
|
376 |
-error.wrong.format = 잘못된 형식의 값 입니다. |
|
377 |
- |
|
378 |
-#Code |
|
379 |
-code.files = 파일 |
|
380 |
-code.commits = 커밋 |
|
381 |
-code.newer = 이전 |
|
382 |
-code.older = 다음 |
|
383 |
-code.repoUrl = 저장소 URL |
|
384 |
- |
|
385 |
|
|
386 |
- |
|
387 |
-mail.password = 비밀번호 |
|
388 |
-mail.passwordPlaceholder = 이 비밀번호는 서버에 평문으로 저장됩니다. |
|
389 |
-mail.host = 호스트 |
|
390 |
-mail.hostPlaceholder = smtp.mail.com |
|
391 |
-mail.port = 포트 |
|
392 |
-mail.portPlaceholder = 보통 25, 587, 465 중 하나 |
|
393 |
-mail.username = 사용자 이름 |
|
394 |
-mail.usernamePlaceholder = yourname |
|
395 |
-mail.ssl = SSL |
|
396 |
-mail.tls = TLS |
|
397 |
-mail.authMethod = 인증 방법 |
|
398 |
-mail.save = 저장 |
|
399 |
-mail.authMethodPlaceholder = LOGIN 혹은 PLAIN |
|
400 |
- |
|
401 |
-mail.notConfigured = 메일러가 설정되지 않았습니다. conf/application.conf에서 다음의 속성을 설정해주세요. |
|
402 |
-mail.from = 보내는 메일 주소 |
|
403 |
-mail.fromPlaceholder = sender@mail.com |
|
404 |
-mail.to = 받는 사람 |
|
405 |
-mail.toPlaceholder = recipient@mail.com |
|
406 |
-mail.subject = 제목 |
|
407 |
-mail.body = 본문 |
|
408 |
-mail.send = 발송 |
|
409 |
-mail.write = 메일 쓰기 |
|
410 |
-mail.fail = 메일 발송에 실패했습니다. |
|
411 |
-mail.sended = 메일을 발송하였습니다. |
|
412 |
- |
|
413 |
-author = 작성자 |
|
414 |
-assignee = 담당자 |
|
415 |
-milestone = 마일스톤 |
|
416 |
-none = 없음 |
|
417 |
-comment = 댓글 |
|
418 |
-noAssignee = 담당자 없음 |
|
419 |
-noMilestone = 마일스톤 없음 |
|
420 |
- |
|
421 |
-#validation |
|
422 |
-validation.tooShortPassword = 비밀번호를 4자 이상으로 만들어 주세요! |
|
423 |
-validation.passwordMismatch = 입력한 두 개의 비밀번호가 서로 일치하지 않습니다. |
|
424 |
-validation.retypePassword = 비밀번호를 한 번 더 입력해 주세요. |
|
425 |
-validation.invalidEmail = 올바른 이메일을 입력해 주세요. |
|
426 |
-validation.required = 필수 항목 입니다. |
|
427 |
-validation.duplicated = 이미 존재합니다! |
|
428 |
-validation.allowedCharsForLoginId = 아이디는 알파벳 숫자 - _ . 를 포함할 수 있으나 _ . 로 시작하거나 끝날 수 없습니다. |
|
429 |
- |
|
430 |
-#Unauthorized |
|
431 |
-auth.unauthorized.title = 접근 권한 오류 |
|
432 |
-auth.unauthorized.waringMessage = 권한이 없거나 로그인을 하지 않았습니다. |
|
433 |
-auth.unauthorized.comment = 로그인 후 댓글 입력이 가능합니다. |
|
434 |
- |
|
435 |
-#userinfo |
|
436 |
-userinfo.profile = 프로필 |
|
437 |
-userinfo.accountSetting = 설정 |
|
438 |
-userinfo.myProjects = 내 프로젝트 |
|
439 |
-userinfo.starredProjects = 관심 프로젝트 |
|
440 |
- |
|
441 |
-#Admin |
|
442 |
-admin.resetPasswordEmail.title = [HIVE] 비밀번호 재 설정 |
|
443 |
-admin.resetPasswordEmail.mailcontents = 아래 URL을 브라우저 주소창에 붙여 넣으세요 |
|
444 |
-admin.resetPasswordEmail.invalidRequest = 잘못된 비밀번호 재 설정 요청입니다. |
|
1 |
+# Messages |
|
2 |
+title.newIssue = 새 이슈 |
|
3 |
+title.issueList = 이슈 목록 |
|
4 |
+title.issueDetail = 이슈 상세보기 |
|
5 |
+title.editIssue = 이슈 수정 |
|
6 |
+title.newMilestone = 새 마일스톤 |
|
7 |
+title.milestoneList = 마일스톤 목록 |
|
8 |
+title.editMilestone = 마일스톤 수정 |
|
9 |
+title.milestoneManage = 마일스톤 관리 |
|
10 |
+title.projectHome = Overview |
|
11 |
+title.newProject = 새 프로젝트 시작 |
|
12 |
+title.projectSetting = 프로젝트 설정 |
|
13 |
+title.memberList = 멤버 목록 |
|
14 |
+title.post.notExistingPage = 존재하지 않는 게시물 |
|
15 |
+title.siteSetting = 사이트 설정 |
|
16 |
+title.site.userEdit = 사용자 설정 |
|
17 |
+title.login = 로그인 |
|
18 |
+title.logout = 로그아웃 |
|
19 |
+title.signup = 회원 가입 |
|
20 |
+title.forgotpassword = 비밀번호를 잊어버리셨나요? |
|
21 |
+title.rememberMe = 로그인 유지하기 |
|
22 |
+title.commitHistory = 커밋 히스토리 |
|
23 |
+title.mailSetting = 메일 설정 |
|
24 |
+title.sendMail = 메일 발송 |
|
25 |
+title.massMail = 대량 메일 발송 |
|
26 |
+title.projectList = 프로젝트 목록 |
|
27 |
+title.help = 도움말 |
|
28 |
+title.search = 검색 |
|
29 |
+title.resetPassword = 비밀번호 재설정 |
|
30 |
+ |
|
31 |
+hive.name = HIVE |
|
32 |
+hive.title = 협업개발 플랫폼 |
|
33 |
+hive.description = Make it better and simpler! |
|
34 |
+ |
|
35 |
+menu.home = 홈 |
|
36 |
+menu.board = 게시판 |
|
37 |
+menu.code = 코드 |
|
38 |
+menu.issue = 이슈 |
|
39 |
+menu.wiki = 위키 |
|
40 |
+menu.admin = 프로젝트 설정 |
|
41 |
+menu.siteAdmin = 사이트 관리 |
|
42 |
+menu.task = 작업 |
|
43 |
+ |
|
44 |
+message.warning = 경고 |
|
45 |
+message.success = 성공 |
|
46 |
+message.info = 정보 |
|
47 |
+ |
|
48 |
+label.title = 제목 |
|
49 |
+label.contents = 내용 |
|
50 |
+label.state = 상태 |
|
51 |
+label.assignee = 담당자 |
|
52 |
+label.date = 작성일 |
|
53 |
+label.id = # |
|
54 |
+label.dueDate = 완료일 |
|
55 |
+label.new = 새 라벨 |
|
56 |
+label.customColor = 색 |
|
57 |
+label.category = 분류 |
|
58 |
+label.name = 이름 |
|
59 |
+label.add = 라벨 추가 |
|
60 |
+label.manage = 라벨 관리 |
|
61 |
+label.confirm.delete = 라벨을 삭제하면 이슈에 지정한 라벨도 함께 제거됩니다. 정말 삭제하시겠습니까? |
|
62 |
+label.select = 라벨 선택 |
|
63 |
+label.error.duplicated = 라벨 생성에 실패했습니다.\n이미 동일한 라벨이 존재할지도 모릅니다. |
|
64 |
+label.error.creationFailed = 라벨 생성에 실패했습니다.\n서버에 문제가 있거나 올바른 요청이 아닐 수 있습니다. |
|
65 |
+ |
|
66 |
+order.all = 전체 |
|
67 |
+order.date = 날짜순 |
|
68 |
+order.state = 상태순 |
|
69 |
+order.comments = 댓글순 |
|
70 |
+order.completionRate = 완료율순 |
|
71 |
+order.dueDate = 완료일순 |
|
72 |
+order.name = 이름순 |
|
73 |
+order.recent = 생성일자순 |
|
74 |
+ |
|
75 |
+button.save = 저장 |
|
76 |
+button.confirm = 확인 |
|
77 |
+button.cancel = 취소 |
|
78 |
+button.reset = 다시쓰기 |
|
79 |
+button.edit = 수정 |
|
80 |
+button.delete = 삭제 |
|
81 |
+button.list = 목록 |
|
82 |
+button.selectFile = 파일 선택 |
|
83 |
+button.comment.new = 댓글 입력 |
|
84 |
+button.autoNotification = 자동알림 |
|
85 |
+button.excelDownload = Excel |
|
86 |
+button.yes = 예 |
|
87 |
+button.no = 아니요 |
|
88 |
+button.popup.exit = x |
|
89 |
+button.add = 추가 |
|
90 |
+button.login = 로그인 |
|
91 |
+button.signup = 가입하기 |
|
92 |
+button.newProject = 새 프로젝트 만들기 |
|
93 |
+button.detail = 자세히 |
|
94 |
+button.apply = 적용 |
|
95 |
+button.back = 돌아가기 |
|
96 |
+button.upload = 파일 올리기 |
|
97 |
+button.user.makeAccountUnlock.true = 잠김해제 |
|
98 |
+button.user.makeAccountUnlock.false = 계정잠그기 |
|
99 |
+ |
|
100 |
+checkbox.commented = 댓글 |
|
101 |
+checkbox.fileAttached = 첨부파일 |
|
102 |
+ |
|
103 |
+input.mandatory = 필수 입력 사항 |
|
104 |
+input.optional = 선택 입력 사항 |
|
105 |
+ |
|
106 |
+#Milestone |
|
107 |
+milestone.state.all = 전체 |
|
108 |
+milestone.state.open = 진행중 |
|
109 |
+milestone.state.closed = 완료 |
|
110 |
+milestone.is.empty = 등록된 마일스톤이 없습니다 |
|
111 |
+milestone.menu.manage = 마일스톤 관리 |
|
112 |
+milestone.menu.new = 새 마일스톤 |
|
113 |
+milestone.none = 없음 |
|
114 |
+milestone.title.duplicated = 마일스톤 제목이 다른것과 중복 됩니다. 다른 제목을 사용하세요. |
|
115 |
+milestone.form.title = 마일스톤 제목 |
|
116 |
+milestone.form.content = 내용을 입력해주세요 |
|
117 |
+milestone.form.state = 마일스톤 상태 |
|
118 |
+milestone.form.dueDate = 완료일을 선택하세요 |
|
119 |
+milestone.error.title = 마일스톤 제목을 입력해주세요 |
|
120 |
+milestone.error.content = 마일스톤 내용을 입력해주세요 |
|
121 |
+milestone.error.duedateFormat = 완료일 형식이 잘못되었습니다. YYYY-MM-DD 형식으로 입력해주세요. |
|
122 |
+ |
|
123 |
+#Issue |
|
124 |
+issue.state.unit = 이슈 |
|
125 |
+issue.state = 상태 |
|
126 |
+issue.state.all = 전체 |
|
127 |
+issue.state.open = 미해결 |
|
128 |
+issue.state.closed = 해결 |
|
129 |
+issue.state.assigned = 할당됨 |
|
130 |
+issue.state.enrolled = 등록 |
|
131 |
+issue.state.solved = 해결됨 |
|
132 |
+issue.state.finished = 완료됨 |
|
133 |
+issue.is.empty = 등록된 이슈가 없습니다. |
|
134 |
+issue.menu.searchDefault = 이슈 검색 |
|
135 |
+issue.menu.milestoneSelectDefault = 마일스톤 선택 |
|
136 |
+issue.menu.new = 새 이슈 |
|
137 |
+issue.new.detailInfo = 세부정보 |
|
138 |
+issue.new.detailInfo.issueType = 유형 |
|
139 |
+issue.new.detailInfo.issueType.worst = 치명결함 |
|
140 |
+issue.new.detailInfo.issueType.worse = 중결함 |
|
141 |
+issue.new.detailInfo.issueType.bad = 경결함 |
|
142 |
+issue.new.detailInfo.issueType.enhancement = 단순개선 |
|
143 |
+issue.new.detailInfo.issueType.recommendation = 권고사항 |
|
144 |
+issue.new.detailInfo.assignee = 담당자 |
|
145 |
+issue.new.detailInfo.component = 컴포넌트 |
|
146 |
+issue.new.detailInfo.milestone = 마일스톤 |
|
147 |
+issue.new.environment = 환경 |
|
148 |
+issue.new.environment.osType = 운영체제 |
|
149 |
+issue.new.environment.osType.windows = Windows |
|
150 |
+issue.new.environment.osType.Mac = Mac OS X |
|
151 |
+issue.new.environment.osType.Linux = Linux |
|
152 |
+issue.new.environment.browserType = 브라우저 |
|
153 |
+issue.new.environment.browserType.ie = IE |
|
154 |
+issue.new.environment.browserType.chrome = Chrome |
|
155 |
+issue.new.environment.browserType.firefox = Firefox |
|
156 |
+issue.new.environment.browserType.safari = Safari |
|
157 |
+issue.new.environment.browserType.opera = Opera |
|
158 |
+issue.new.environment.dbmsType = DBMS |
|
159 |
+issue.new.environment.dbmsType.postgreSQL = PostgreSQL |
|
160 |
+issue.new.environment.dbmsType.CUBRID = CUBRID |
|
161 |
+issue.new.environment.dbmsType.MySQL = MySQL |
|
162 |
+issue.new.result = 확인결과 |
|
163 |
+issue.new.result.importance = 중요도 |
|
164 |
+issue.new.result.importance.highest = 매우 중요 |
|
165 |
+issue.new.result.importance.high = 중요 |
|
166 |
+issue.new.result.importance.average = 보통 |
|
167 |
+issue.new.result.importance.low = 낮음 |
|
168 |
+issue.new.result.importance.lowest = 매우 낮음 |
|
169 |
+issue.new.result.diagnosisResult = 진단 결과 |
|
170 |
+issue.new.result.diagnosisResult.bug = 버그확인 |
|
171 |
+issue.new.result.diagnosisResult.fixed = 수정완료 |
|
172 |
+issue.new.result.diagnosisResult.willNotFixed = 수정안함 |
|
173 |
+issue.new.result.diagnosisResult.notaBug = 버그아님 |
|
174 |
+issue.new.result.diagnosisResult.awaitingResponse = 응답대기 |
|
175 |
+issue.new.result.diagnosisResult.unreproducible = 재현불가 |
|
176 |
+issue.new.result.diagnosisResult.duplicated = 중복 |
|
177 |
+issue.new.result.diagnosisResult.works4me= 잘동작함 |
|
178 |
+issue.author = 등록자 |
|
179 |
+issue.assignee = 담당자 |
|
180 |
+issue.noAssignee = 없음 |
|
181 |
+issue.delete.window = 이슈 삭제 |
|
182 |
+issue.comment.delete.window = 이슈 댓글 삭제 |
|
183 |
+issue.new.selectDefault.milestone = --마일스톤 선택-- |
|
184 |
+issue.new.selectDefault.issueType = --유형 선택-- |
|
185 |
+issue.new.selectDefault.assignee = --담당자 선택-- |
|
186 |
+issue.new.selectDefault.component = --컴포넌트 선택-- |
|
187 |
+issue.new.selectDefault.osType = --운영체제 종류 선택-- |
|
188 |
+issue.new.selectDefault.browserType = --브라우저 종류 선택-- |
|
189 |
+issue.new.selectDefault.dbmsType = --DBMS 선택-- |
|
190 |
+issue.new.selectDefault.importance = --중요도 선택-- |
|
191 |
+issue.new.selectDefault.diagnosisResult = --진단결과 선택-- |
|
192 |
+issue.comment.delete.confirm = 해당 이슈의 댓글을 삭제하시겠습니까? |
|
193 |
+issue.committer.edit = 이슈수정 |
|
194 |
+issue.advancedSearch = 고급검색 |
|
195 |
+issue.downloadAsExcel = 엑셀파일로 다운받기 |
|
196 |
+issue.search = 검색 |
|
197 |
+issue.error.emptyTitle = 이슈 제목을 입력해주세요 |
|
198 |
+issue.error.emptyBody = 이슈 내용을 입력해주세요 |
|
199 |
+issue.title = 제목 |
|
200 |
+issue.createdDate = 작성일 |
|
201 |
+issue.attachment = 첨부파일 |
|
202 |
+issue.numOfComments = 댓글개수 |
|
203 |
+ |
|
204 |
+#Post |
|
205 |
+post.new = 새글 |
|
206 |
+post.write = 글쓰기 |
|
207 |
+post.new.title = 제목 |
|
208 |
+post.new.contents = 내용 |
|
209 |
+post.new.filePath = 파일 경로 |
|
210 |
+post.author = 글쓴이 |
|
211 |
+post.notice = 공지사항 |
|
212 |
+post.notice.label = 이 글을 공지사항으로 설정합니다 |
|
213 |
+post.age = 나이 |
|
214 |
+post.menu.search = 검색 |
|
215 |
+post.delete.confirm = 해당 게시물이 삭제되면 영원히 복구할 수 없습니다. 그래도 삭제하시겠습니까? |
|
216 |
+post.new.fileAttach = 첨부파일 |
|
217 |
+post.popup.fileAttach.title = 첨부파일 선택 |
|
218 |
+post.popup.fileAttach.contents = 첨부할 파일을 선택해주세요. |
|
219 |
+post.edit.rejectNotAuthor = 글쓴이가 아닙니다. |
|
220 |
+post.update.error = 입력값 오류 |
|
221 |
+post.title = 제목 |
|
222 |
+post.createdDate = 작성일 |
|
223 |
+post.attachment = 첨부파일 |
|
224 |
+post.numOfComments = 댓글개수 |
|
225 |
+post.error.emptyTitle = 글 제목을 입력해주세요 |
|
226 |
+post.error.emptyBody = 글 내용을 입력해주세요 |
|
227 |
+ |
|
228 |
+#Project |
|
229 |
+project.myproject = 내 프로젝트 |
|
230 |
+project.create = 프로젝트 생성 |
|
231 |
+project.name = 프로젝트 이름 |
|
232 |
+project.name.placeholder = 프로젝트 이름을 입력해주세요. |
|
233 |
+project.owner = 소유자 이름 |
|
234 |
+project.name.alert = 프로젝트 이름은 URL로 사용할 수 있는 글자(영문자,숫자,-'하이픈')만 허용합니다 |
|
235 |
+project.name.duplicate = 이미 같은 이름의 프로젝트가 있습니다 |
|
236 |
+project.description = 설명 |
|
237 |
+project.description.placeholder = 프로젝트 설명을 입력해주세요 |
|
238 |
+project.shareOption = 공개 설정 |
|
239 |
+projects = 프로젝트 |
|
240 |
+project.all = 모든 |
|
241 |
+project.public = 공개 |
|
242 |
+project.private = 비공개 |
|
243 |
+project.private.notice = 비공개 프로젝트도 프로젝트 이름,설명,로고 등은 모든 사용자가 볼 수 있습니다 |
|
244 |
+project.isAuthorEditable = 작성자 수정/삭제 권한 설정 |
|
245 |
+project.isAuthorEditable.on = 가능 |
|
246 |
+project.isAuthorEditable.off = 불가능 |
|
247 |
+project.vcs = 코드관리시스템 |
|
248 |
+project.new.agreement = 본인은 약관에 대한 안내를 읽었으며 이에 동의합니다 |
|
249 |
+project.new.agreement.alert = 이용 악관에 동의해야 합니다 |
|
250 |
+project.agreement = 이용 약관 |
|
251 |
+project.name.rule = 이름 규칙 |
|
252 |
+project.info = 프로젝트 정보 |
|
253 |
+project.members = 개발자 |
|
254 |
+project.members.addMember = 새로운 멤버의 아이디를 입력하세요 |
|
255 |
+project.member.isManager = 프로젝트 관리자 권한이 필요합니다 |
|
256 |
+project.member.alreadyMember = 이미 프로젝트에 가입되어 있는 멤버입니다. |
|
257 |
+project.member.deleteConfirm = 정말로 해당 사용자를 프로젝트에서 탈퇴시키겠습니까? |
|
258 |
+project.member.delete = 프로젝트 사용자 삭제 |
|
259 |
+project.member.notExist = 존재하지 않는 사용자입니다. |
|
260 |
+project.member.ownerCannotLeave = 프로젝트 소유자는 탈퇴할 수 없습니다. |
|
261 |
+project.member.ownerMustBeAManager = 프로젝트 소유자는 관리 권한을 가져야 합니다. |
|
262 |
+project.sidebar = 프로젝트 설정 |
|
263 |
+project.setting = 설정 |
|
264 |
+project.member = 멤버 |
|
265 |
+project.milestone = 마일스톤 |
|
266 |
+project.sidebar.plugin = 플러그인 |
|
267 |
+project.sidebar.help = 도움말 |
|
268 |
+project.logo.type = 파일형식 |
|
269 |
+project.logo.maxFileSize = 최대파일크기 |
|
270 |
+project.logo.fileSizeAlert = 이미지 용량은 1MB 이하여야 합니다. |
|
271 |
+project.logo.size = 사이즈 |
|
272 |
+project.logo = 프로젝트 로고 |
|
273 |
+project.logo.alert = 이미지 파일이 아닙니다. |
|
274 |
+project.siteurl = 사이트 주소 |
|
275 |
+project.siteurl.alert = 사이트 URL은 http://로 시작해야 합니다. |
|
276 |
+project.delete = 프로젝트 삭제 |
|
277 |
+project.delete.this = 프로젝트를 삭제합니다. |
|
278 |
+project.delete.description = 프로젝트를 삭제하게되면 코드,위키,이슈관리 등 모든 데이터가 삭제되며 한번 삭제된 데이터는 복구가 불가능합니다. |
|
279 |
+project.delete.accept = 프로젝트를 삭제하는데 동의합니다. |
|
280 |
+project.delete.requestion = 프로젝트를 삭제하시겠습니까? |
|
281 |
+project.delete.reaccept = 정말로 삭제하시겠습니까? |
|
282 |
+project.delete.alert = 프로젝트 삭제에 동의하여야 합니다. |
|
283 |
+project.new.vcsType.git = Git |
|
284 |
+project.new.vcsType.subversion = Subversion |
|
285 |
+project.readme = 프로젝트에 대한 설명을 README.md 파일로 작성해서 코드저장소에 추가하면 이 곳에 나타납니다. |
|
286 |
+project.searchPlaceholder = 현재 프로젝트에서 검색 |
|
287 |
+project.wrongName = 프로젝트 이름이 올바르지 않습니다. |
|
288 |
+project.tags = 태그 |
|
289 |
+project.license = 라이센스 |
|
290 |
+project.codeLanguage = 프로그래밍 언어 |
|
291 |
+ |
|
292 |
+#Site |
|
293 |
+site.sidebar = 사이트 관리 |
|
294 |
+site.sidebar.setting = 설정 |
|
295 |
+site.sidebar.userList = 사용자 |
|
296 |
+site.sidebar.postList = 게시물 |
|
297 |
+site.sidebar.issueList = 이슈 |
|
298 |
+site.sidebar.projectList = 프로젝트 설정 |
|
299 |
+site.sidebar.softwareMap = 소프트웨어 맵 |
|
300 |
+site.sidebar.mailSend = 메일 발송 |
|
301 |
+site.sidebar.massMail = 대량 메일 발송 |
|
302 |
+site.project.filter = 찾으려는 프로젝트 이름을 입력하세요 |
|
303 |
+site.userList.search = 찾으려는 사용자의 ID를 입력하세요 |
|
304 |
+site.userList.isActive = 활성 상태 |
|
305 |
+site.userList.deleteAlert = 프로젝트의 유일한 관리자이므로 사이트에서 삭제할 수 없습니다. |
|
306 |
+site.user.delete = 사용자 삭제 |
|
307 |
+site.user.deleteConfirm = 정말로 해당 사용자를 사이트에서 탈퇴시키겠습니까? |
|
308 |
+site.project.delete = 프로젝트 삭제 |
|
309 |
+site.project.deleteConfirm = 정말로 해당 프로젝트를 사이트에서 삭제하겠습니까? |
|
310 |
+site.userlist.unlocked = 활성화된 사용자 목록 |
|
311 |
+site.userlist.locked = 계정이 잠긴 사용자 목록 |
|
312 |
+site.massMail.toAll = 모두에게 |
|
313 |
+site.massMail.toProjects = 특정 프로젝트의 멤버들에게 |
|
314 |
+site.massMail.loading = 불러오는중... |
|
315 |
+ |
|
316 |
+ |
|
317 |
+#User |
|
318 |
+user.loginId = 아이디 |
|
319 |
+user.yourLoginId = yourLoginId |
|
320 |
+user.wrongloginId.alert = 올바른 아이디를 입력하세요. |
|
321 |
+user.loginId.duplicate = 이미 존재하는 아이디입니다. |
|
322 |
+user.login.alert = 로그인이 필요합니다. |
|
323 |
+user.password = 비밀번호 |
|
324 |
+user.newPassword = 신규 비밀번호 |
|
325 |
+user.confirmPassword = 비밀번호 확인 |
|
326 |
+user.confirmPassword.alert = 입력한 두 비밀번호가 서로 일치하지 않습니다 |
|
327 |
+user.wrongPassword.alert = 잘못된 비밀번호입니다! |
|
328 |
+user.name = 이름 |
|
329 |
+user.email = 이메일 |
|
330 |
+user.yourEmail = yourEmail@address.com |
|
331 |
+user.wrongEmail.alert = 이메일이 잘못되었습니다. |
|
332 |
+user.login.failed = 아이디 또는 비밀번호가 잘못되었습니다. |
|
333 |
+user.logout.success = 로그아웃했습니다 |
|
334 |
+user.isAlreadySignupUser = 이미 가입하셨나요? |
|
335 |
+user.signupId = 아이디 |
|
336 |
+user.signupBtn = 참여하기 |
|
337 |
+user.loginWithNewPassword = 새로 설정한 비밀번호로 로그인 하세요 |
|
338 |
+user.notExists.name = 존재하지 않는 사용자입니다. |
|
339 |
+user.locked = 잠긴 사용자 계정입니다. |
|
340 |
+user.isLocked = 잠김여부 |
|
341 |
+user.signup.requested = HIVE 가입이 요청되었습니다. 사이트 관리자가 검토/승인 후 사용가능합니다. 감사합니다. |
|
342 |
+ |
|
343 |
+#Role |
|
344 |
+role.manager = 관리자 |
|
345 |
+role.member = 참여자 |
|
346 |
+role.anonymous = 익명 사용자 |
|
347 |
+role.guest = 지나가던 사람 |
|
348 |
+role.sitemanager = 사이트 관리자 |
|
349 |
+ |
|
350 |
+#Time |
|
351 |
+time.just = 방금 전 |
|
352 |
+time.second = {0} 초 전 |
|
353 |
+time.seconds = {0} 초 전 |
|
354 |
+time.minute = {0} 분 전 |
|
355 |
+time.minutes = {0} 분 전 |
|
356 |
+time.hour = {0} 시간 전 |
|
357 |
+time.hours = {0} 시간 전 |
|
358 |
+time.day = {0} 일 전 |
|
359 |
+time.days = {0} 일 전 |
|
360 |
+ |
|
361 |
+#Board |
|
362 |
+board.post.empty = 제목과 본문에 빈칸이 있습니다. |
|
363 |
+board.post.notExist = 존재하지 않는 게시물입니다. |
|
364 |
+board.post.new = 새 게시물 |
|
365 |
+board.post.modify = 게시물 수정 |
|
366 |
+board.comment.empty = 댓글 내용은 반드시 입력해야 합니다. |
|
367 |
+board.notAuthor = 글쓴이가 아닙니다. |
|
368 |
+ |
|
369 |
+#Search |
|
370 |
+label.writer = 글쓴이 |
|
371 |
+post.is.empty = 등록된 게시물이 없습니다. |
|
372 |
+title.contentSearchResult = 컨텐츠 검색 결과 |
|
373 |
+ |
|
374 |
+#Vaildation |
|
375 |
+error.required = 필수 입력란입니다. |
|
376 |
+error.wrong.format = 잘못된 형식의 값 입니다. |
|
377 |
+ |
|
378 |
+#Code |
|
379 |
+code.files = 파일 |
|
380 |
+code.commits = 커밋 |
|
381 |
+code.newer = 이전 |
|
382 |
+code.older = 다음 |
|
383 |
+code.repoUrl = 저장소 URL |
|
384 |
+ |
|
385 |
|
|
386 |
+ |
|
387 |
+mail.password = 비밀번호 |
|
388 |
+mail.passwordPlaceholder = 이 비밀번호는 서버에 평문으로 저장됩니다. |
|
389 |
+mail.host = 호스트 |
|
390 |
+mail.hostPlaceholder = smtp.mail.com |
|
391 |
+mail.port = 포트 |
|
392 |
+mail.portPlaceholder = 보통 25, 587, 465 중 하나 |
|
393 |
+mail.username = 사용자 이름 |
|
394 |
+mail.usernamePlaceholder = yourname |
|
395 |
+mail.ssl = SSL |
|
396 |
+mail.tls = TLS |
|
397 |
+mail.authMethod = 인증 방법 |
|
398 |
+mail.save = 저장 |
|
399 |
+mail.authMethodPlaceholder = LOGIN 혹은 PLAIN |
|
400 |
+ |
|
401 |
+mail.notConfigured = 메일러가 설정되지 않았습니다. conf/application.conf에서 다음의 속성을 설정해주세요. |
|
402 |
+mail.from = 보내는 메일 주소 |
|
403 |
+mail.fromPlaceholder = sender@mail.com |
|
404 |
+mail.to = 받는 사람 |
|
405 |
+mail.toPlaceholder = recipient@mail.com |
|
406 |
+mail.subject = 제목 |
|
407 |
+mail.body = 본문 |
|
408 |
+mail.send = 발송 |
|
409 |
+mail.write = 메일 쓰기 |
|
410 |
+mail.fail = 메일 발송에 실패했습니다. |
|
411 |
+mail.sended = 메일을 발송하였습니다. |
|
412 |
+ |
|
413 |
+author = 작성자 |
|
414 |
+assignee = 담당자 |
|
415 |
+milestone = 마일스톤 |
|
416 |
+none = 없음 |
|
417 |
+comment = 댓글 |
|
418 |
+noAssignee = 담당자 없음 |
|
419 |
+noMilestone = 마일스톤 없음 |
|
420 |
+ |
|
421 |
+#validation |
|
422 |
+validation.tooShortPassword = 비밀번호를 4자 이상으로 만들어 주세요! |
|
423 |
+validation.passwordMismatch = 입력한 두 개의 비밀번호가 서로 일치하지 않습니다. |
|
424 |
+validation.retypePassword = 비밀번호를 한 번 더 입력해 주세요. |
|
425 |
+validation.invalidEmail = 올바른 이메일을 입력해 주세요. |
|
426 |
+validation.required = 필수 항목 입니다. |
|
427 |
+validation.duplicated = 이미 존재합니다! |
|
428 |
+validation.allowedCharsForLoginId = 아이디는 알파벳 숫자 - _ . 를 포함할 수 있으나 _ . 로 시작하거나 끝날 수 없습니다. |
|
429 |
+ |
|
430 |
+#Unauthorized |
|
431 |
+auth.unauthorized.title = 접근 권한 오류 |
|
432 |
+auth.unauthorized.waringMessage = 권한이 없거나 로그인을 하지 않았습니다. |
|
433 |
+auth.unauthorized.comment = 로그인 후 댓글 입력이 가능합니다. |
|
434 |
+ |
|
435 |
+#userinfo |
|
436 |
+userinfo.profile = 프로필 |
|
437 |
+userinfo.accountSetting = 설정 |
|
438 |
+userinfo.myProjects = 내 프로젝트 |
|
439 |
+userinfo.starredProjects = 관심 프로젝트 |
|
440 |
+ |
|
441 |
+#Admin |
|
442 |
+admin.resetPasswordEmail.title = [HIVE] 비밀번호 재 설정 |
|
443 |
+admin.resetPasswordEmail.mailcontents = 아래 URL을 브라우저 주소창에 붙여 넣으세요 |
|
444 |
+admin.resetPasswordEmail.invalidRequest = 잘못된 비밀번호 재 설정 요청입니다.(No newline at end of file) |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?