Fix display bug of DTL source files
- Author
- Maarten Vangeneugden
- Date
- Oct. 25, 2023, 5:09 p.m.
- Hash
- 3a2b27c9e25c258898133eee705e3b5b91b6e03a
- Parent
- 1f07aa88c107c7d4ed2e8dc5de42e2ec5eb3e2b8
- Modified files
- GitActions/CommitInfo.py
- locale/af/LC_MESSAGES/django.po
- locale/de/LC_MESSAGES/django.po
- locale/eo/LC_MESSAGES/django.po
- locale/es/LC_MESSAGES/django.po
- locale/fr-be/LC_MESSAGES/django.po
- locale/fr/LC_MESSAGES/django.po
- locale/nl-be/LC_MESSAGES/django.po
- locale/nl/LC_MESSAGES/django.po
- syntax.py
- templates/gitar/commit.djhtml
- templates/gitar/directory.djhtml
- templates/gitar/file.djhtml
- templates/gitar/index.djhtml
- templates/gitar/locale/af/LC_MESSAGES/django.po
- templates/gitar/locale/de/LC_MESSAGES/django.po
- templates/gitar/locale/eo/LC_MESSAGES/django.po
- templates/gitar/locale/es/LC_MESSAGES/django.po
- templates/gitar/locale/fr-be/LC_MESSAGES/django.po
- templates/gitar/locale/fr/LC_MESSAGES/django.po
- templates/gitar/locale/nl-be/LC_MESSAGES/django.po
- templates/gitar/locale/nl/LC_MESSAGES/django.po
- views.py
GitActions/CommitInfo.py ¶
30 additions and 7 deletions.
View changes Hide changes
1 |
1 |
# formatted file in a commit. |
2 |
2 |
|
3 |
3 |
# The function returns a list |
4 |
4 |
|
5 |
5 |
# If one line is removed, and one line is added, and both have the same line |
6 |
6 |
# number, then that should be regarded as a changed line, not a removed+added line. |
7 |
7 |
# This holds for each non-broken list of removed+added lines. |
8 |
8 |
|
9 |
9 |
from pydriller.domain.commit import ModificationType |
10 |
10 |
from ..syntax import * |
11 |
11 |
|
12 |
12 |
""" It's a lot of annoying glue code to transform a modified file object into |
13 |
13 |
what we actually want: The data that needs to be passed to the Django template. |
14 |
14 |
This convenience function accepts the modified file object as given by |
15 |
15 |
Pydriller's Commit class, and returns a list of dicts, each dict representing |
16 |
16 |
the information needed to properly present a file diff in the template. |
17 |
17 |
""" |
18 |
18 |
def prepare_and_process(modified_file): |
19 |
19 |
#print(modified_file.source_code) |
20 |
20 |
result = dict() |
21 |
21 |
result["object"] = modified_file # Could come in handy |
22 |
22 |
result["change_type"] = modified_file.change_type |
23 |
23 |
result["html_code_after"] = code_to_HTML( |
24 |
24 |
modified_file.source_code, |
25 |
25 |
modified_file.filename) |
26 |
26 |
result["html_code_before"] = code_to_HTML( |
27 |
27 |
modified_file.source_code_before, |
28 |
28 |
modified_file.filename) |
29 |
29 |
|
30 |
30 |
if modified_file.change_type == ModificationType.ADD: |
31 |
31 |
result["path"] = modified_file.new_path |
32 |
32 |
elif modified_file.change_type == ModificationType.DELETE: |
33 |
33 |
result["path"] = modified_file.old_path |
34 |
34 |
elif modified_file.change_type == ModificationType.RENAME: |
35 |
35 |
result["path"] = modified_file.old_path +" → "+ modified_file.new_path |
36 |
36 |
elif modified_file.change_type == ModificationType.MODIFY: |
37 |
37 |
result["path"] = modified_file.old_path |
38 |
38 |
|
39 |
39 |
added = dict() |
40 |
40 |
deleted = dict() |
41 |
41 |
for number, line in modified_file.diff_parsed["added"]: |
42 |
42 |
added[number] = line |
43 |
43 |
for number, line in modified_file.diff_parsed["deleted"]: |
44 |
44 |
if result["path"] == "Challenge 4/Controller.java": |
45 |
45 |
print("PING") |
46 |
- | deleted[number] = line |
+ |
46 |
pass |
+ |
47 |
deleted[number] = line |
47 |
48 |
if result["path"] == "Challenge 4/Controller.java": |
48 |
49 |
print("NU CONTROLLER.jAVA") |
49 |
- | #print(modified_file.diff_parsed) |
+ |
50 |
#print("NU CONTROLLER.jAVA") |
+ |
51 |
#print(modified_file.diff_parsed) |
50 |
52 |
print(deleted) |
51 |
- | result["rows"] = process_file( |
+ |
53 |
result["rows"] = process_file( |
52 |
54 |
result["html_code_before"], |
53 |
55 |
result["html_code_after"], |
54 |
56 |
added, |
55 |
57 |
deleted) |
56 |
58 |
|
57 |
59 |
# These three lists are going to be empty if the methods couldn't be detected |
58 |
60 |
deleted, transferred, new = process_methods(modified_file) |
59 |
61 |
if len(deleted) == len(transferred) == len(new) == 0: |
60 |
62 |
result["methods_available"] = False |
61 |
63 |
else: |
62 |
64 |
result["methods_available"] = True |
63 |
65 |
result["deleted_methods"] = deleted |
64 |
66 |
result["transferred_methods"] = transferred |
65 |
67 |
result["new_methods"] = new |
66 |
68 |
return result |
67 |
69 |
|
68 |
70 |
""" Sometimes, the methods in a file can be detected, which adds some nice |
69 |
71 |
information """ |
70 |
72 |
def process_methods(modified_file): |
71 |
73 |
before_methods = modified_file.methods_before |
72 |
74 |
after_methods = modified_file.methods |
73 |
75 |
deleted_methods = [] |
74 |
76 |
transferred_methods = [] |
75 |
77 |
new_methods = [] |
76 |
78 |
|
77 |
79 |
# Finding all transferred and deleted methods |
78 |
80 |
for before_method in before_methods: |
79 |
81 |
transferred = False |
80 |
82 |
for after_method in after_methods: |
81 |
83 |
if before_method.name == after_method.name: # Match found |
82 |
84 |
transferred_methods.append((before_method, after_method)) |
83 |
85 |
transferred = True |
84 |
86 |
break |
85 |
87 |
if not transferred: |
86 |
88 |
deleted_methods.append(before_method) |
87 |
89 |
# Finding all new methods |
88 |
90 |
for after_method in after_methods: |
89 |
91 |
transferred = False |
90 |
92 |
for _, am in transferred_methods: |
91 |
93 |
if after_method == am: |
92 |
94 |
transferred = True |
93 |
95 |
break |
94 |
96 |
if not transferred: |
95 |
97 |
new_methods.append(after_method) |
96 |
98 |
|
97 |
99 |
return deleted_methods, transferred_methods, new_methods |
98 |
100 |
|
99 |
101 |
|
100 |
102 |
def process_file(source_before, source_after, additions, deletions): |
101 |
103 |
rows = [] |
102 |
104 |
# Counting from 1, because source code lines are counted from there |
103 |
105 |
# NOTE: Deletions komen wel degelijk goed binnen |
104 |
106 |
print("deletions:") |
105 |
- | print(deletions) |
106 |
- | before_count = 1 |
+ |
107 |
#print(deletions) |
+ |
108 |
before_count = 1 |
107 |
109 |
after_count = 1 |
108 |
110 |
while True: |
109 |
111 |
row = dict() |
110 |
112 |
#print("PROCESS_FILE") |
111 |
113 |
#print(deletions) |
112 |
114 |
#print(additions) |
113 |
115 |
# We check the deletion lines first; if a line was "changed", the |
114 |
116 |
# 'deleted' line needs to be listed first, and after that, the 'added' |
115 |
117 |
# line |
116 |
118 |
#print(str(before_count) + " -- " + str(after_count)) |
117 |
119 |
if before_count in deletions: |
118 |
120 |
row["type"] = "deletion" |
119 |
121 |
row["old_num"] = before_count |
120 |
122 |
# Why source_before[] and not deletions[]? |
121 |
123 |
# Because source_before[] has been processed by Pygments, and thus |
122 |
124 |
# has the syntax highlighting in it. deletions[] is just plain text. |
123 |
125 |
row["line"] = source_before[before_count] |
124 |
- | before_count += 1 |
+ |
126 |
|
+ |
127 |
# Look, I'm tired at the time of writing, and this line seems to be |
+ |
128 |
# kind of a dick so I'm just gonna try catch it and leave it like |
+ |
129 |
# that for now |
+ |
130 |
#try: |
+ |
131 |
#row["line"] = source_before[before_count] |
+ |
132 |
print(len(source_before)) |
+ |
133 |
print(before_count) |
+ |
134 |
if before_count == len(source_before): |
+ |
135 |
row["line"] = source_before[-1] |
+ |
136 |
else: |
+ |
137 |
row["line"] = source_before[before_count] |
+ |
138 |
#except: |
+ |
139 |
#pass |
+ |
140 |
|
+ |
141 |
before_count += 1 |
125 |
142 |
elif after_count in additions: |
126 |
143 |
row["type"] = "addition" |
127 |
144 |
row["new_num"] = after_count |
128 |
145 |
# Idem for additions[] |
129 |
146 |
row["line"] = source_after[after_count] |
130 |
- | after_count += 1 |
+ |
147 |
# kind of a dick so I'm just gonna try catch it and leave it like |
+ |
148 |
# that for now |
+ |
149 |
try: |
+ |
150 |
row["line"] = source_after[after_count] |
+ |
151 |
except: |
+ |
152 |
pass |
+ |
153 |
after_count += 1 |
131 |
154 |
else: # No change to this particular line |
132 |
155 |
row["old_num"] = before_count |
133 |
156 |
row["new_num"] = after_count |
134 |
157 |
if len(source_before) > before_count: |
135 |
158 |
row["line"] = source_before[before_count] |
136 |
159 |
elif len(source_after) > after_count: |
137 |
160 |
row["line"] = source_after[after_count] |
138 |
161 |
else: # No lines left |
139 |
162 |
break |
140 |
163 |
# If not end of both files, increment both counters anyway |
141 |
164 |
before_count += 1 |
142 |
165 |
after_count += 1 |
143 |
166 |
# Adding the new row to the list of rows |
144 |
167 |
rows.append(row) |
145 |
168 |
return rows |
146 |
169 |
|
147 |
170 |
|
148 |
171 |
|
149 |
172 |
|
150 |
173 |
|
151 |
174 |
|
152 |
175 |
|
153 |
176 |
|
154 |
177 |
locale/af/LC_MESSAGES/django.po ¶
3 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/views.py:39 |
21 |
- | msgid "" |
+ |
21 |
msgid "" |
22 |
22 |
"Gitar is a simple web app that allows its users to easily share Git repos in " |
23 |
23 |
"combination with the Django framework." |
24 |
24 |
msgstr "" |
25 |
25 |
|
26 |
26 |
#: gitar/views.py:43 |
27 |
- | msgid "Home page" |
+ |
27 |
msgid "Home page" |
28 |
28 |
msgstr "" |
29 |
29 |
locale/de/LC_MESSAGES/django.po ¶
6 additions and 4 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/views.py:39 |
21 |
- | msgid "" |
+ |
21 |
msgid "" |
22 |
22 |
"Gitar is a simple web app that allows its users to easily share Git repos in " |
23 |
23 |
"combination with the Django framework." |
24 |
24 |
msgstr "" |
25 |
25 |
|
+ |
26 |
"repos in Kombination mit dem Django-Framework einfach zu teilen." |
+ |
27 |
|
26 |
28 |
#: gitar/views.py:43 |
27 |
- | msgid "Home page" |
+ |
29 |
msgid "Home page" |
28 |
30 |
msgstr "" |
29 |
- | |
+ |
31 |
locale/eo/LC_MESSAGES/django.po ¶
3 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/views.py:39 |
21 |
- | msgid "" |
+ |
21 |
msgid "" |
22 |
22 |
"Gitar is a simple web app that allows its users to easily share Git repos in " |
23 |
23 |
"combination with the Django framework." |
24 |
24 |
msgstr "" |
25 |
25 |
|
26 |
26 |
#: gitar/views.py:43 |
27 |
- | msgid "Home page" |
+ |
27 |
msgid "Home page" |
28 |
28 |
msgstr "" |
29 |
29 |
locale/es/LC_MESSAGES/django.po ¶
3 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/views.py:39 |
21 |
- | msgid "" |
+ |
21 |
msgid "" |
22 |
22 |
"Gitar is a simple web app that allows its users to easily share Git repos in " |
23 |
23 |
"combination with the Django framework." |
24 |
24 |
msgstr "" |
25 |
25 |
|
26 |
26 |
#: gitar/views.py:43 |
27 |
- | msgid "Home page" |
+ |
27 |
msgid "Home page" |
28 |
28 |
msgstr "" |
29 |
29 |
locale/fr-be/LC_MESSAGES/django.po ¶
0 additions and 32 deletions.
View changes Hide changes
1 |
- | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
- | # This file is distributed under the same license as the PACKAGE package. |
3 |
- | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
- | # |
5 |
- | #, fuzzy |
6 |
- | msgid "" |
7 |
- | msgstr "" |
8 |
- | "Project-Id-Version: PACKAGE VERSION\n" |
9 |
- | "Report-Msgid-Bugs-To: \n" |
10 |
- | "POT-Creation-Date: 2021-11-24 14:00+0100\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
- | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
- | "Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
- | "Language: \n" |
15 |
- | "MIME-Version: 1.0\n" |
16 |
- | "Content-Type: text/plain; charset=UTF-8\n" |
17 |
- | "Content-Transfer-Encoding: 8bit\n" |
18 |
- | |
19 |
- | #: gitar/views.py:35 |
20 |
- | msgid "" |
21 |
- | "Gitar is a simple web app that allows its users to easily share Git repos in " |
22 |
- | "combination with the Django framework." |
23 |
- | msgstr "" |
24 |
- | |
25 |
- | #: gitar/views.py:40 |
26 |
- | msgid "Home page" |
27 |
- | msgstr "" |
28 |
- | |
29 |
- | #: gitar/views.py:41 |
30 |
- | msgid "Source code" |
31 |
- | msgstr "" |
32 |
- |
locale/fr/LC_MESSAGES/django.po ¶
3 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/views.py:39 |
21 |
- | msgid "" |
+ |
21 |
msgid "" |
22 |
22 |
"Gitar is a simple web app that allows its users to easily share Git repos in " |
23 |
23 |
"combination with the Django framework." |
24 |
24 |
msgstr "" |
25 |
25 |
"Gitar est un application qui permet à ses utilisateurs de partager " |
26 |
26 |
"facilement des repos Git, grace á le cadriciel Django." |
27 |
27 |
|
28 |
28 |
#: gitar/views.py:43 |
29 |
- | msgid "Home page" |
+ |
29 |
msgid "Home page" |
30 |
30 |
msgstr "Page d'acceuil" |
31 |
31 |
|
32 |
32 |
#~ msgid "Source code" |
33 |
33 |
#~ msgstr "Code source" |
34 |
34 |
locale/nl-be/LC_MESSAGES/django.po ¶
0 additions and 32 deletions.
View changes Hide changes
1 |
- | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
- | # This file is distributed under the same license as the PACKAGE package. |
3 |
- | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
- | # |
5 |
- | #, fuzzy |
6 |
- | msgid "" |
7 |
- | msgstr "" |
8 |
- | "Project-Id-Version: PACKAGE VERSION\n" |
9 |
- | "Report-Msgid-Bugs-To: \n" |
10 |
- | "POT-Creation-Date: 2021-11-24 14:00+0100\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
- | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
- | "Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
- | "Language: \n" |
15 |
- | "MIME-Version: 1.0\n" |
16 |
- | "Content-Type: text/plain; charset=UTF-8\n" |
17 |
- | "Content-Transfer-Encoding: 8bit\n" |
18 |
- | |
19 |
- | #: gitar/views.py:35 |
20 |
- | msgid "" |
21 |
- | "Gitar is a simple web app that allows its users to easily share Git repos in " |
22 |
- | "combination with the Django framework." |
23 |
- | msgstr "" |
24 |
- | |
25 |
- | #: gitar/views.py:40 |
26 |
- | msgid "Home page" |
27 |
- | msgstr "" |
28 |
- | |
29 |
- | #: gitar/views.py:41 |
30 |
- | msgid "Source code" |
31 |
- | msgstr "" |
32 |
- |
locale/nl/LC_MESSAGES/django.po ¶
4 additions and 4 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/views.py:39 |
21 |
- | msgid "" |
+ |
21 |
msgid "" |
22 |
22 |
"Gitar is a simple web app that allows its users to easily share Git repos in " |
23 |
23 |
"combination with the Django framework." |
24 |
24 |
msgstr "" |
25 |
25 |
"Gitar is een simpele web app dat gebruikers toelaat gemakkelijk Git-repo's " |
26 |
26 |
"met elkaar te delen, in combinatie met Django." |
27 |
27 |
|
28 |
28 |
#: gitar/views.py:43 |
29 |
- | msgid "Home page" |
+ |
29 |
msgid "Home page" |
30 |
30 |
msgstr "Homepage" |
31 |
- | |
+ |
31 |
|
32 |
32 |
#~ msgid "Source code" |
33 |
33 |
#~ msgstr "Broncode" |
34 |
34 |
syntax.py ¶
10 additions and 0 deletions.
View changes Hide changes
1 |
1 |
|
2 |
2 |
In essence, this means that in this module, a file's contents are being parsed |
3 |
3 |
to Pygments, which will then return the appropriate HTML output, which can then |
4 |
4 |
be directly parsed in a Django template. |
5 |
5 |
""" |
6 |
6 |
|
7 |
7 |
from pygments import highlight |
8 |
8 |
from pygments.lexers import get_lexer_by_name |
9 |
9 |
from pygments.formatters import HtmlFormatter |
10 |
10 |
from pygments.lexers import guess_lexer_for_filename |
11 |
11 |
|
+ |
12 |
|
12 |
13 |
def code_to_HTML(code, file_name): |
13 |
14 |
""" Turns the given list of code strings in HTML, ready for output. |
14 |
15 |
|
15 |
16 |
Please note that the lexer that will be used for the syntax coloring, is |
16 |
17 |
determined by the given file name, so assert that the given code comes from |
17 |
18 |
the given file. |
18 |
19 |
Keyword arguments: |
19 |
20 |
code -- A non-empty list of code strings. |
20 |
21 |
file_name -- The name of the file from where the given code originates. |
21 |
22 |
""" |
22 |
23 |
# stripall removes whitespace in front, but that also removes file |
23 |
24 |
# indentation. |
24 |
25 |
if code is None: |
25 |
26 |
return [] |
26 |
27 |
try: |
+ |
28 |
# I have to add this lexer manually because djhtml is not recognized as a |
+ |
29 |
# filename for the HtmlDjangoLexer |
+ |
30 |
if file_name.endswith('.djhtml'): |
+ |
31 |
lexer = HtmlDjangoLexer() |
+ |
32 |
formatter = HtmlFormatter(linenos=False, cssclass="source") |
+ |
33 |
unicode_data = decode_to_unicode(highlight(code, lexer, formatter)) |
+ |
34 |
return unicode_data |
+ |
35 |
try: |
27 |
36 |
lexer = guess_lexer_for_filename(file_name, code, stripall=False) |
28 |
37 |
# linenos (line-n°'s) adds line numbering to the front of the output. I'm |
29 |
38 |
# doing that myself, so False. |
30 |
39 |
# cssclass sets the enclosing <div>'s class to the given CSS class name. |
31 |
40 |
formatter = HtmlFormatter(linenos=False, cssclass="source") |
32 |
41 |
#result = highlight(code, lexer, formatter) |
33 |
42 |
unicode_data = decode_to_unicode(highlight(code, lexer, formatter)) |
+ |
43 |
unicode_data = decode_to_unicode(highlight(code, lexer, formatter)) |
34 |
44 |
return unicode_data |
35 |
45 |
#except pygments.ClassNotFound as exception: |
36 |
46 |
except: |
37 |
47 |
# This happens with files lacking a file extension, and MarkDown files. |
38 |
48 |
# In that case, no lexer should be used, but Simple parse the same code. |
39 |
49 |
return no_syntax(code) |
40 |
50 |
|
41 |
51 |
def no_syntax(data): |
42 |
52 |
""" Decodes a given bytearray to a list of unicode strings.""" |
43 |
53 |
if type(data) is str: |
44 |
54 |
decoded_data = data |
45 |
55 |
else: |
46 |
56 |
decoded_data = data.decode("utf-8") |
47 |
57 |
formatted_data = [] |
48 |
58 |
line = "" |
49 |
59 |
for character in decoded_data: |
50 |
60 |
if character != "\n": |
51 |
61 |
line = line + character |
52 |
62 |
else: |
53 |
63 |
formatted_data.append(line) |
54 |
64 |
line = "" |
55 |
65 |
return formatted_data |
56 |
66 |
|
57 |
67 |
|
58 |
68 |
def decode_to_unicode(data): |
59 |
69 |
""" Decodes a given bytearray to a list of unicode strings.""" |
60 |
70 |
#decoded_data = data.decode("utf-8") |
61 |
71 |
decoded_data = data |
62 |
72 |
formatted_data = [] |
63 |
73 |
line = "" |
64 |
74 |
for character in decoded_data: |
65 |
75 |
if character != "\n": |
66 |
76 |
line = line + character |
67 |
77 |
else: |
68 |
78 |
formatted_data.append(line) |
69 |
79 |
line = "" |
70 |
80 |
return formatted_data |
71 |
81 |
templates/gitar/commit.djhtml ¶
18 additions and 3 deletions.
View changes Hide changes
1 |
1 |
{% load i18n %} |
2 |
2 |
{% load humanize %} |
3 |
3 |
{% load static %} |
4 |
4 |
|
5 |
5 |
{% block title %}{{ repository_name }} | Gitar{% endblock title %} |
6 |
6 |
|
7 |
7 |
{% block stylesheets %} |
8 |
8 |
{{ block.super }} |
9 |
9 |
<link rel="stylesheet" type="text/css" href="/static/website/syntax.css" /> |
10 |
10 |
<link rel="stylesheet" type="text/css" href="/static/gitar/css/file.css" /> |
11 |
11 |
<style> |
12 |
12 |
table.highlight { |
13 |
13 |
border-collapse: collapse; |
14 |
14 |
} |
15 |
15 |
table.highlight tr { |
16 |
16 |
line-height: 1em; |
17 |
17 |
} |
18 |
18 |
|
19 |
19 |
tr.deletion { |
20 |
20 |
background-color: rgba(255, 0, 0, .1); |
21 |
21 |
} |
22 |
22 |
tr.addition { |
23 |
23 |
background-color: rgba(0, 255, 0, .1); |
24 |
24 |
} |
25 |
25 |
|
26 |
26 |
section { |
27 |
27 |
overflow-x: scroll; |
28 |
28 |
} |
29 |
29 |
|
30 |
30 |
.symbol { |
31 |
31 |
text-align: right; |
32 |
32 |
/*font-weight: bolder;*/ |
33 |
33 |
/* These vendor prefixes are still necessary, yeah...*/ |
34 |
34 |
} |
35 |
35 |
.line-number { |
36 |
36 |
text-align: right; |
37 |
37 |
width: 3em; |
38 |
38 |
-moz-user-select: none; |
39 |
39 |
-webkit-user-select: none; |
40 |
40 |
-ms-user-select: none; |
41 |
41 |
user-select: none; |
42 |
42 |
} |
43 |
43 |
.line-number a { |
44 |
44 |
color: grey; |
45 |
45 |
} |
46 |
46 |
|
47 |
47 |
details span.opened { |
48 |
48 |
display: none; |
49 |
49 |
} |
50 |
50 |
details[open] span.opened { |
51 |
51 |
display: inline; |
52 |
52 |
} |
53 |
53 |
details[open] span.closed { |
54 |
54 |
display: none; |
55 |
55 |
} |
56 |
56 |
</style> |
57 |
57 |
{% endblock stylesheets %} |
58 |
58 |
|
59 |
59 |
{% block description %} |
60 |
60 |
{{ repository_name }} {{ commit.hash|truncatechars:10 }}: {{ commit.msg }} |
61 |
61 |
{% endblock description %} |
62 |
62 |
|
63 |
63 |
{% block header %} |
64 |
64 |
<header> |
65 |
65 |
<h1>{{ repository_name }}</h1> |
66 |
- | <label for="nav-drawer-toggle">≡</label> |
67 |
66 |
</header> |
+ |
67 |
</header> |
68 |
68 |
{% endblock header %} |
69 |
69 |
|
70 |
70 |
{% block main %} |
+ |
71 |
<input id="nav-drawer-toggle" type="checkbox" /> |
+ |
72 |
<nav> |
+ |
73 |
<label for="nav-drawer-toggle">🡠</label> |
+ |
74 |
<h2>{{ repository_name }}</h2> |
+ |
75 |
<a class="nav-link" href="{% url 'gitar-index' %}">Gitar | Index</a> |
+ |
76 |
<a class="nav-link" href="{% url 'gitar-repository' repository_name %}">{{ repository_name }} | Index</a> |
+ |
77 |
<a class="nav-link" href="{% url 'about-index' %}">{% translate "Front page" %}</a> |
+ |
78 |
<hr class="half"> |
+ |
79 |
{% for mod_file in modified_files %} |
+ |
80 |
<a class="nav-link" href="#{{ mod_file.path }}">{{ mod_file.path }}</a> |
+ |
81 |
{% endfor %} |
+ |
82 |
</nav> |
+ |
83 |
{% endblock nav %} |
+ |
84 |
|
+ |
85 |
{% block main %} |
71 |
86 |
|
72 |
87 |
<section class="emphasis"> |
73 |
88 |
<h2>{{ first_line }}</h2> |
74 |
89 |
<p>{{ other_lines|safe }}</p> |
75 |
90 |
<dl> |
76 |
91 |
<dt>{% translate "Author" %}</dt> |
77 |
92 |
<dd>{{ commit.author.name }}</dd> |
78 |
93 |
|
79 |
94 |
<dt>{% translate "Date" %}</dt> |
80 |
95 |
<dd>{{ commit.committer_date|date:"DATETIME_FORMAT" }}</dd> |
81 |
96 |
|
82 |
97 |
<dt>{% translate "Hash" %}</dt> |
83 |
98 |
<dd><samp>{{ commit.hash }}</samp></dd> |
84 |
99 |
|
85 |
100 |
{% if commit.parents|length_is:"1" %} |
86 |
101 |
<dt>{% translate "Parent" %}</dt> |
87 |
102 |
{% else %} |
88 |
103 |
<dt>{% translate "Parents" %}</dt> |
89 |
104 |
{% endif %} |
90 |
105 |
{% for parent in commit.parents %} |
91 |
106 |
<dd><samp><a href="{% url "gitar-commit" repository_name parent %}"> |
92 |
107 |
{{ parent }} |
93 |
108 |
</a></samp</dd> |
94 |
109 |
{% endfor %} |
95 |
110 |
|
96 |
111 |
{% if modified_files|length_is:"1" %} |
97 |
112 |
<dt>{% translate "Modified file" %}</dt> |
98 |
113 |
{% else %} |
99 |
114 |
<dt>{% translate "Modified files" %}</dt> |
100 |
115 |
{% endif %} |
101 |
116 |
{% for mod_file in modified_files %} |
102 |
117 |
<dd><a href="#{{ mod_file.path }}">{{ mod_file.path }}</a></dd> |
103 |
118 |
{% endfor %} |
104 |
119 |
{#<dt>{% translate "Child" %}</dt>#} |
105 |
120 |
{# <dd>{{ commit.author_date|date:"DATETIME_FORMAT" }}</dd>#} |
106 |
121 |
{# Gonna leave the email out for now, don't like email scrapers #} |
107 |
122 |
{# <dt>{% translate "E-mail" %}</dt> #} |
108 |
123 |
{# <dl>{{ commit.author.email }}</dl> #} |
109 |
124 |
</dl> |
110 |
125 |
</section> |
111 |
126 |
|
112 |
127 |
{% for mod_file in modified_files %} |
113 |
128 |
<section> |
114 |
129 |
<h3 id="{{ mod_file.path }}">{{ mod_file.path }} <a href="#{{ mod_file.path }}">¶</a></h3> |
115 |
130 |
<p> |
116 |
131 |
{{ mod_file.object.added_lines }} |
117 |
132 |
{% blocktranslate count counter=mod_file.object.added_lines %} |
118 |
133 |
addition |
119 |
134 |
{% plural %} |
120 |
135 |
additions |
121 |
136 |
{% endblocktranslate %} |
122 |
137 |
{% translate "and" %} |
123 |
138 |
{{ mod_file.object.deleted_lines }} |
124 |
139 |
{% blocktranslate count counter=mod_file.object.deleted_lines %} |
125 |
140 |
deletion. |
126 |
141 |
{% plural %} |
127 |
142 |
deletions. |
128 |
143 |
{% endblocktranslate %} |
129 |
144 |
</p> |
130 |
145 |
{% if mod_file.methods_available %} |
131 |
146 |
|
132 |
147 |
{% endif %} |
133 |
148 |
<details> |
134 |
- | <summary><span class="closed">{% translate "View changes" %}</span><span class="opened">{% translate "Hide changes" %}</span> |
135 |
- | </summary> |
+ |
149 |
<summary class="ripple"><span class="closed"> {% translate "View changes" %}</span><span class="opened"> {% translate "Hide changes" %}</span> |
+ |
150 |
</summary> |
136 |
151 |
|
137 |
152 |
<table class="highlight" style="font-family: 'Fira Code', monospace;"> |
138 |
153 |
{% for row in mod_file.rows %} |
139 |
154 |
{% if row.type == "deletion" %} |
140 |
155 |
<tr class="deletion"> |
141 |
156 |
<td id="{{ mod_file.path }}-A{{ row.old_num }}" class="line-number"> |
142 |
157 |
<a href="#{{ mod_file.path }}-A{{ row.old_num }}" class="accent-on-hover-only"><pre>{{ row.old_num }}</pre> |
143 |
158 |
</a></td> |
144 |
159 |
<td class="line-number symbol">-</td> |
145 |
160 |
{% elif row.type == "addition" %} |
146 |
161 |
<tr class="addition"> |
147 |
162 |
<td class="line-number symbol">+</td> |
148 |
163 |
<td id="{{ mod_file.path }}-B{{ row.new_num }}" class="line-number"> |
149 |
164 |
<a href="#{{ mod_file.path }}-B{{ row.new_num }}" class="accent-on-hover-only"><pre>{{ row.new_num }}</pre> |
150 |
165 |
</a></td> |
151 |
166 |
{% else %} |
152 |
167 |
<tr class="nochange"> |
153 |
168 |
<td id="{{ mod_file.path }}-A{{ row.old_num }}" class="line-number"> |
154 |
169 |
<a href="#{{ mod_file.path }}-A{{ row.old_num }}" class="accent-on-hover-only"><pre>{{ row.old_num }}</pre> |
155 |
170 |
<td id="{{ mod_file.path }}-B{{ row.new_num }}" class="line-number"> |
156 |
171 |
<a href="#{{ mod_file.path }}-B{{ row.new_num }}" class="accent-on-hover-only"><pre>{{ row.new_num }}</pre> |
157 |
172 |
</a></td> |
158 |
173 |
{% endif %} |
159 |
174 |
<td style="padding-left: 1em;"><pre>{{ row.line|safe }}</pre></td> |
160 |
175 |
</tr> |
161 |
176 |
{% endfor %} |
162 |
177 |
</table> |
163 |
178 |
</details> |
164 |
179 |
</section> |
165 |
180 |
{% endfor %} |
166 |
181 |
|
167 |
182 |
{% endblock main %} |
168 |
183 |
templates/gitar/directory.djhtml ¶
99 additions and 81 deletions.
View changes Hide changes
1 |
1 |
{% load i18n %} |
2 |
2 |
{% load humanize %} |
3 |
3 |
{% load static %} |
4 |
4 |
|
5 |
5 |
{% block title %}{{ repository_name }} | Gitar{% endblock title %} |
6 |
6 |
|
7 |
7 |
{% block stylesheets %} |
8 |
8 |
{{ block.super }} |
9 |
9 |
{% endblock stylesheets %} |
+ |
10 |
td { |
+ |
11 |
padding-right: 1em; |
+ |
12 |
} |
+ |
13 |
</style> |
+ |
14 |
{% endblock stylesheets %} |
10 |
15 |
|
11 |
16 |
{% block description %} |
12 |
17 |
{{repository_description}} |
13 |
18 |
{% endblock description %} |
14 |
19 |
|
15 |
20 |
{% block header %} |
16 |
21 |
<header> |
17 |
22 |
<h1>{{ repository_name }}</h1> |
18 |
- | <label for="nav-drawer-toggle">≡</label> |
19 |
23 |
</header> |
+ |
24 |
</header> |
20 |
25 |
{% endblock header %} |
21 |
26 |
|
22 |
27 |
{% block main %} |
+ |
28 |
<input id="nav-drawer-toggle" type="checkbox" /> |
+ |
29 |
<nav> |
+ |
30 |
<label for="nav-drawer-toggle">🡠</label> |
+ |
31 |
<h2>{{ repository_name }}</h2> |
+ |
32 |
<a class="nav-link" href="{% url 'gitar-index' %}">Gitar | Index</a> |
+ |
33 |
<a class="nav-link" href="{% url 'about-index' %}">{% translate "Front page" %}</a> |
+ |
34 |
{% if subdirectories %} |
+ |
35 |
<hr class="half"> |
+ |
36 |
{% endif %} |
+ |
37 |
{% for subdirectory in subdirectories %} |
+ |
38 |
<a class="nav-link" href="{% url 'gitar-path-explorer' repository_name branch subdirectory.path %}"> |
+ |
39 |
{{ subdirectory.name }} |
+ |
40 |
</a> |
+ |
41 |
{% endfor %} |
+ |
42 |
<hr class="half"> |
+ |
43 |
{% for file in files %} |
+ |
44 |
<a class="nav-link" href="{% url 'gitar-path-explorer' repository_name branch file.path %}"> |
+ |
45 |
{{ file.name }} |
+ |
46 |
</a> |
+ |
47 |
{% endfor %} |
+ |
48 |
</nav> |
+ |
49 |
{% endblock nav %} |
+ |
50 |
|
+ |
51 |
{% block main %} |
23 |
52 |
<section> |
+ |
53 |
<!-- Add tertiary information such as branches and licensing here. --> |
+ |
54 |
<h2>{{repository_name}}</h2> |
+ |
55 |
<p>{{ repository_description }}</p> |
+ |
56 |
<h3>{% trans "Branches" %}</h3> |
+ |
57 |
{% for bbranch in branches %} |
+ |
58 |
<a href="{% url 'gitar-repository' repository_name bbranch %}"> |
+ |
59 |
{{ bbranch }} |
+ |
60 |
</a><br> |
+ |
61 |
{% endfor %} |
+ |
62 |
{% comment %}<h5 class="{{mdc}}-text">{% trans "Extra information" %}</h5> |
+ |
63 |
<div class="chip"> |
+ |
64 |
{{repository_language}} |
+ |
65 |
<i class="material-icons {{mdac}}-text text-accent-3">code</i> |
+ |
66 |
</div><br /> |
+ |
67 |
<div class="chip"> |
+ |
68 |
{{repository_license}} |
+ |
69 |
<i class="material-icons {{mdac}}-text text-accent-3">copyright</i> |
+ |
70 |
</div> |
+ |
71 |
{% endcomment %} |
+ |
72 |
</aside> |
+ |
73 |
<section> |
24 |
74 |
|
25 |
- | <!--Tree contents--> |
+ |
75 |
<!--Tree contents--> |
26 |
76 |
<table> |
+ |
77 |
{% if subdirectories %} |
+ |
78 |
<table> |
27 |
79 |
<thead> |
28 |
80 |
<tr> |
29 |
81 |
<th scope="col">{% translate "Name" %}</th> |
30 |
- | <th scope="col">{% translate "Latest commit" %}</th> |
31 |
- | <th scope="col">{% translate "Latest update" %}</th> |
32 |
- | </tr> |
+ |
82 |
</tr> |
33 |
83 |
</thead> |
34 |
84 |
<tbody> |
35 |
85 |
{% if subdirectories %} |
36 |
- | {% for subdirectory in subdirectories %} |
37 |
86 |
{% endfor %} |
+ |
87 |
<th> |
+ |
88 |
<a href="{% url 'gitar-path-explorer' repository_name branch subdirectory.path %}"> |
+ |
89 |
{{subdirectory.name}} |
+ |
90 |
</a> |
+ |
91 |
</th> |
+ |
92 |
</tr> |
+ |
93 |
{% endfor %} |
38 |
94 |
{% endif %} |
39 |
- | |
40 |
- | {% for file in files %} |
+ |
95 |
</table> |
+ |
96 |
{% endif %} |
+ |
97 |
<!-- Files --> |
+ |
98 |
<table> |
+ |
99 |
<thead> |
+ |
100 |
<tr> |
+ |
101 |
<th scope="col">{% translate "File name" %}</th> |
+ |
102 |
<th scope="col">{% translate "Latest commit" %}</th> |
+ |
103 |
<th scope="col">{% translate "Latest update" %}</th> |
+ |
104 |
</tr> |
+ |
105 |
</thead> |
+ |
106 |
<tbody> |
+ |
107 |
{% for file in files %} |
41 |
108 |
<tr> |
42 |
109 |
<td><a href="{% url 'gitar-path-explorer' repository_name branch file.path %}"> |
43 |
110 |
{{ file.name }}</a></td> |
44 |
111 |
<td><a href="{% url 'gitar-commit' repository_name file.commit.hash %}"> |
45 |
112 |
{{ file.commit.msg }}</a></td> |
46 |
- | <td>{% if file.older_than_one_month %} |
+ |
113 |
<td>{% if file.older_than_one_month %} |
47 |
114 |
{{ file.commit.committer_date|date }} |
48 |
115 |
{% else %} |
49 |
116 |
{{ file.commit.committer_date|naturaltime }} |
50 |
117 |
{% endif %} |
51 |
118 |
</td> |
52 |
119 |
</tr> |
53 |
120 |
{% endfor %} |
54 |
121 |
</tbody> |
55 |
122 |
</table> |
56 |
123 |
|
57 |
- | <div class="row"> |
58 |
- | <div class="col hide-on-med-and-down l4"> |
59 |
- | <!-- Add tertiary information such as branches and licensing here. --> |
60 |
- | <h3 class="{{mdc}}-text">{{repository_name}}</h3> |
61 |
- | <h5 class="{{mdc}}-text">{% trans "Description" %}</h5> |
62 |
- | {{repository_description}} |
63 |
- | <h5 class="{{mdc}}-text">{% trans "Branches" %}</h5> |
64 |
- | {% for bbranch in branches %} |
65 |
- | <a class="{{mdac}}-text text-accent-3" href="{% url 'gitar-repository' repository_name bbranch %}"> |
66 |
- | {{bbranch}} |
67 |
- | </a><br /> |
68 |
- | {% endfor %} |
69 |
- | <h5 class="{{mdc}}-text">{% trans "Extra information" %}</h5> |
70 |
- | <div class="chip"> |
71 |
- | {{repository_language}} |
72 |
- | <i class="material-icons {{mdac}}-text text-accent-3">code</i> |
73 |
- | </div><br /> |
74 |
- | <div class="chip"> |
75 |
- | {{repository_license}} |
76 |
- | <i class="material-icons {{mdac}}-text text-accent-3">copyright</i> |
77 |
- | </div><br /> |
78 |
- | </div> |
79 |
- | <div class="col s12 m8 l5"> |
80 |
- | <!-- Main area with links to files and subdirectories --> |
81 |
- | <h3 class="{{mdc}}-text">{% trans "Files" %}</h3> |
82 |
- | <table class="highlight"> |
83 |
- | {% if subdirectories %} |
84 |
- | <thead> |
85 |
- | {% for subdirectory in subdirectories %} |
86 |
- | <tr> |
87 |
- | <th> |
88 |
- | <a class="{{mdac}}-text text-accent-4" href="{% url 'gitar-path-explorer' repository_name branch subdirectory.path %}"> |
89 |
- | {{subdirectory.name}} |
90 |
- | </a> |
91 |
- | </th> |
92 |
- | </tr> |
93 |
- | {% endfor %} |
94 |
- | </thead> |
95 |
- | {% endif %} |
96 |
- | <tbody> |
97 |
- | {% for file in files %} |
98 |
- | <tr> |
99 |
- | <td> |
100 |
- | <a class="{{mdac}}-text text-accent-3" href="{% url 'gitar-path-explorer' repository_name branch file.path %}"> |
101 |
- | {{file.name}} |
102 |
- | </a> |
103 |
- | </td> |
104 |
- | <td>{{file.commit|truncatechars:6}}</td> |
105 |
- | </tr> |
106 |
- | {% endfor %} |
107 |
- | </tbody> |
108 |
- | </table> |
109 |
- | </div> |
110 |
- | <div class="col hide-on-small-only m4 l3"> |
111 |
- | <!-- List of commits on the current branch, chronologically. --> |
112 |
- | <h3 class="{{mdc}}-text">{% trans "Commits" %}</h3> |
113 |
- | {% for commit in commits %} |
+ |
124 |
<h2>{% translate "Commits" %}</h2> |
+ |
125 |
<table> |
+ |
126 |
<thead> |
+ |
127 |
<tr> |
+ |
128 |
<th scope="col">{% translate "Hash" %}</th> |
+ |
129 |
<th scope="col">{% translate "Author" %}</th> |
+ |
130 |
<th scope="col">{% translate "Description" %}</th> |
+ |
131 |
<th scope="col">{% translate "Date" %}</th> |
+ |
132 |
</tr> |
+ |
133 |
</thead> |
+ |
134 |
<tbody> |
+ |
135 |
{% for commit in commits %} |
114 |
136 |
<hr /> |
115 |
- | <a |
116 |
- | class="{{mdac}}-text text-accent-3 tooltipped" |
117 |
- | {# href="{% url 'gitar-commit' repository_name commit.hash %}" #} |
118 |
- | data-position="left" |
119 |
- | data-delay="50" |
120 |
- | data-tooltip="Viewing commits is not implemented yet!"> |
121 |
- | {{commit.hash|truncatechars:15}} |
122 |
- | </a> |
123 |
- | <span class="{{mdc}}-text text-lighten-2"> |
124 |
- | {% trans "by" %} {{commit.author}} |
125 |
- | </span><br /> |
126 |
- | {{commit.description|lower|capfirst}}{% if commit.description|last != "." %}.{% endif %} |
127 |
- | {% endfor %} |
+ |
137 |
<td><a href="{% url 'gitar-commit' repository_name commit.hash %}"> |
+ |
138 |
<code>{{ commit.hash|truncatechars:15 }}</code> |
+ |
139 |
</a></td> |
+ |
140 |
<td>{{ commit.author|truncatewords:2 }}</td> |
+ |
141 |
<td> |
+ |
142 |
{{ commit.description|lower|capfirst|truncatewords:10|truncatechars:80 }}{% if commit.description|last != "." %}.{% endif %} |
+ |
143 |
</td> |
+ |
144 |
<td>{{ commit.date|date:"SHORT_DATETIME_FORMAT" }}</td> |
+ |
145 |
{% endfor %} |
128 |
146 |
</div> |
129 |
- | </div> |
130 |
- | </section> |
+ |
147 |
</table> |
+ |
148 |
</section> |
131 |
149 |
{% endblock main %} |
132 |
150 |
templates/gitar/file.djhtml ¶
3 additions and 3 deletions.
View changes Hide changes
1 |
1 |
{% load i18n %} |
2 |
2 |
{% load static %} |
3 |
3 |
|
4 |
4 |
{% block title %}{{repository_name}}/{{file_name}} | Gitar{% endblock title %} |
5 |
5 |
|
6 |
6 |
{% block stylesheets %} |
7 |
7 |
{{ block.super }} |
8 |
8 |
<link rel="stylesheet" type="text/css" href="/static/website/syntax.css" /> |
9 |
9 |
<link rel="stylesheet" type="text/css" href="/static/gitar/css/file.css" /> |
10 |
10 |
<style> |
11 |
11 |
table.highlight tr { |
12 |
12 |
line-height: 15px; |
13 |
13 |
} |
14 |
14 |
|
15 |
15 |
/* These vendor prefixes are still necessary, yeah...*/ |
16 |
16 |
.line-number { |
17 |
17 |
-moz-user-select: none; |
18 |
18 |
-webkit-user-select: none; |
19 |
19 |
-ms-user-select: none; |
20 |
20 |
user-select: none; |
21 |
21 |
} |
22 |
22 |
</style> |
23 |
23 |
{% endblock stylesheets %} |
24 |
24 |
|
25 |
25 |
{% block description %} |
26 |
26 |
Content of {{file_name}} in {{repository_name}} |
27 |
- | {% endblock description %} |
+ |
27 |
{% endblock description %} |
28 |
28 |
|
29 |
29 |
{% block header %} |
30 |
30 |
<header> |
31 |
- | <h1>{{ repository_name }}</h1> |
+ |
31 |
<a href="https://maartenv.be"><label for="nav-drawer-toggle">≡</label></a> |
+ |
32 |
<h1>{{ repository_name }}</h1> |
32 |
33 |
<label for="nav-drawer-toggle">≡</label> |
33 |
- | </header> |
34 |
34 |
{% endblock header %} |
35 |
35 |
|
36 |
36 |
{% comment %} |
37 |
37 |
{% block stylesheets %} |
38 |
38 |
<link href="/static/website/materialize/css/google-icons.css" rel="stylesheet" /> |
39 |
39 |
<link href="/static/website/materialize/css/materialize.css" rel="stylesheet" media="screen, projection" /> |
40 |
40 |
<!--<link rel="stylesheet href="https://cdn.rawgit.com/tonsky/FiraCode/1.204/distr/fira_code.css">--> |
41 |
41 |
<!-- TODO: Download Fira Code stylesheet and serve via the static folder! |
42 |
42 |
This is necessary BEFORE activating the Fira Code ligature font, because |
43 |
43 |
using a CDN I do not controll brings in tonnes of JS code from Google, |
44 |
44 |
Amazon, and whatnot. --> |
45 |
45 |
<!--<style> |
46 |
46 |
td { |
47 |
47 |
padding: 0 0 0 0; |
48 |
48 |
} |
49 |
49 |
pre { |
50 |
50 |
margin-top: 10px; |
51 |
51 |
margin-bottom: 10px; |
52 |
52 |
} |
53 |
53 |
table { |
54 |
54 |
line-height: 0px; |
55 |
55 |
padding-top: 0px; |
56 |
56 |
padding-bottom: 0px; |
57 |
57 |
border-spacing: 0 0; |
58 |
58 |
margin-top: 0px; |
59 |
59 |
margin-bottom: 0px; |
60 |
60 |
} |
61 |
61 |
</style>--> |
62 |
62 |
{# For the syntax coloring of Gitar. TODO for later. #} |
63 |
63 |
<link rel="stylesheet" type="text/css" href="/static/website/syntax.css" /> |
64 |
64 |
<link rel="stylesheet" type="text/css" href="/static/gitar/css/file.css" /> |
65 |
65 |
{% endblock stylesheets %} |
66 |
66 |
{% endcomment %} |
67 |
67 |
|
68 |
68 |
<!-- NOTE: Currently I'm using an ordered list to get numbers, but now I can't |
69 |
69 |
link to the different lines. So until I figure out a way to make tables behave |
70 |
70 |
correctly, this ought to be the temporary solution--> |
71 |
71 |
{% block main %} |
72 |
72 |
<section style="font-family: 'Fira Code', monospace;"> |
73 |
73 |
<h3>{{file_name}}</h3> |
74 |
74 |
<table class="highlight"> |
75 |
75 |
{% for line in content %} |
76 |
76 |
<tr> |
77 |
77 |
<td id="{{ forloop.counter }}" class="line-number" style=":hover { background-color: #00E676;}"> |
78 |
78 |
<a style=":hover { background-color: #00e676;}" href="#{{ forloop.counter }}"> |
79 |
79 |
<pre>{{ forloop.counter }}</pre></a></td> |
80 |
80 |
<td><pre>{{ line|safe }}</pre></td> |
81 |
81 |
</tr> |
82 |
82 |
{% endfor %} |
83 |
83 |
</table> |
84 |
84 |
</section> |
85 |
85 |
{% endblock main %} |
86 |
86 |
templates/gitar/index.djhtml ¶
14 additions and 12 deletions.
View changes Hide changes
1 |
1 |
{% load i18n %} |
2 |
2 |
{% load static %} |
3 |
3 |
|
4 |
4 |
{% block title %}{% trans "Gitar | Index page" %}{% endblock title %} |
5 |
5 |
|
6 |
6 |
{% block description %} |
7 |
7 |
{% trans "My personal answer to GitHub." %} |
8 |
8 |
{% endblock description %} |
9 |
9 |
|
10 |
10 |
{% block header %} |
11 |
11 |
<header> |
12 |
12 |
<h1>Gitar</h1> |
13 |
- | <label for="nav-drawer-toggle">≡</label> |
14 |
13 |
</header> |
+ |
14 |
</header> |
15 |
15 |
{% endblock header %} |
16 |
16 |
|
17 |
17 |
{% block nav %} |
18 |
18 |
<input id="nav-drawer-toggle" type="checkbox" /> |
19 |
19 |
<nav> |
20 |
20 |
<label for="nav-drawer-toggle"><!--🡨-->🡠</label> |
21 |
21 |
<h2></h2> |
22 |
- | {% for repository in repositories %} |
+ |
22 |
<a class="nav-link" href="{% url 'about-index' %}">{% trans "Front page" %}</a> |
+ |
23 |
<hr class="half" /> |
+ |
24 |
{% for repository in repositories %} |
23 |
25 |
<a class="nav-link" href="{% url 'gitar-repository' repository_name=repository.name %}"> |
24 |
26 |
{{ repository.name }} |
25 |
27 |
</a> |
26 |
28 |
{% endfor %} |
27 |
29 |
<hr class="half" /> |
28 |
- | <a class="nav-link" href="{% url 'about-index' %}">{% trans "Front page" %}</a> |
29 |
- | </nav> |
30 |
30 |
{% endblock nav %} |
31 |
31 |
|
32 |
32 |
|
33 |
33 |
{% block main %} |
34 |
34 |
|
35 |
35 |
{# with mdac=materialDesign_accentColor %} {# You'll see why this is handy shortly. #} |
36 |
- | {# with mdc=materialDesign_color #} |
37 |
- | <section class="emphasis"> |
38 |
36 |
<h1>{% trans "About Gitar" %}</h1> |
39 |
37 |
<p> |
40 |
38 |
{% blocktrans %} |
41 |
39 |
Gitar is a simple web app to easily host Git repositories using the Django framework. |
42 |
40 |
It's a hobby project of me, to make it easy for |
43 |
41 |
people to scroll through the code I publish, in a read-only fashion. It |
44 |
42 |
makes use of |
45 |
43 |
<a href="https://pygments.org/" target="_blank">Pygments</a> |
46 |
44 |
to read the source files, and apply the appropriate syntax coloring. |
47 |
45 |
{% endblocktrans %} |
48 |
46 |
</p> |
49 |
47 |
<p> |
50 |
48 |
{% blocktrans %}All repositories are automatically updated when changes |
51 |
49 |
have been pushed to the server, without any manual intervention from me. |
52 |
50 |
Special attention goes to clean URL design, adhering to web standards, |
53 |
51 |
and responsive design across all screen types.{% endblocktrans %} |
54 |
52 |
</p> |
55 |
53 |
<p> |
56 |
54 |
{% blocktrans %}Gitar <b>is a project under development!</b> |
57 |
55 |
While it's certainly presentable, there's still a lot of room for improvement.<br /> |
58 |
56 |
Also, if you happen to walk in while I'm working, it's possible you'll |
59 |
57 |
fall through the floor, so be warned =D{% endblocktrans %} |
60 |
58 |
</p> |
61 |
59 |
</section> |
62 |
60 |
<section> |
63 |
61 |
<h3>{% trans "Public repositories" %}</h3> |
64 |
62 |
{% for repository in repositories %} {# ARGH DON'T YOU LOVE THE READABILITY #} |
65 |
63 |
<p> |
66 |
64 |
<a class="btn fill" href="{% url 'gitar-repository' repository_name=repository.name %}"> |
67 |
65 |
{{ repository.name }} |
68 |
66 |
</a> |
69 |
- | {{ repository.description }} |
70 |
- | </p> |
+ |
67 |
{{ repository.description }} <br> |
+ |
68 |
<strong>{% trans "Primary programming language(s)" %}:</strong> {{ repository.programmingLanguage }}<br> |
+ |
69 |
<strong>{% trans "License" %}:</strong> {{ repository.license }} |
+ |
70 |
</p> |
71 |
71 |
<dl> |
+ |
72 |
<dl> |
72 |
73 |
<dt>🅿️</dt> |
73 |
- | <dd>{{ repository.programmingLanguage }}</dd> |
+ |
74 |
<dd>{{ repository.programmingLanguage }}</dd> |
74 |
75 |
<!--<li><i class="material-icons">description</i> |
75 |
- | {{ repository.fileCount }}</li>--> |
76 |
- | <dt>©️</dt> |
+ |
76 |
{{ repository.fileCount }}</li> |
+ |
77 |
<dt>©️</dt> |
77 |
78 |
<dd>{{ repository.license }}</dd> |
78 |
79 |
</dl> |
79 |
80 |
<hr class="half"> |
80 |
- | {% endfor %} |
+ |
81 |
<!--<hr class="half">--> |
+ |
82 |
{% endfor %} |
81 |
83 |
</section> |
82 |
84 |
{% endblock main %} |
83 |
85 |
templates/gitar/locale/af/LC_MESSAGES/django.po ¶
52 additions and 39 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/templates/gitar/commit.djhtml:77 |
21 |
- | msgid "Author" |
+ |
21 |
#: gitar/templates/gitar/directory.djhtml:34 |
+ |
22 |
#: gitar/templates/gitar/index.djhtml:23 |
+ |
23 |
msgid "Front page" |
+ |
24 |
msgstr "" |
+ |
25 |
|
+ |
26 |
#: gitar/templates/gitar/commit.djhtml:92 |
+ |
27 |
#: gitar/templates/gitar/directory.djhtml:131 |
+ |
28 |
msgid "Author" |
22 |
29 |
msgstr "" |
23 |
30 |
|
24 |
31 |
#: gitar/templates/gitar/commit.djhtml:80 |
25 |
- | msgid "Date" |
+ |
32 |
#: gitar/templates/gitar/directory.djhtml:133 |
+ |
33 |
msgid "Date" |
26 |
34 |
msgstr "" |
27 |
35 |
|
28 |
36 |
#: gitar/templates/gitar/commit.djhtml:83 |
29 |
- | msgid "Hash" |
+ |
37 |
#: gitar/templates/gitar/directory.djhtml:130 |
+ |
38 |
msgid "Hash" |
30 |
39 |
msgstr "" |
31 |
40 |
|
32 |
41 |
#: gitar/templates/gitar/commit.djhtml:87 |
33 |
- | msgid "Parent" |
+ |
42 |
msgid "Parent" |
34 |
43 |
msgstr "" |
35 |
44 |
|
36 |
45 |
#: gitar/templates/gitar/commit.djhtml:89 |
37 |
- | msgid "Parents" |
+ |
46 |
msgid "Parents" |
38 |
47 |
msgstr "" |
39 |
48 |
|
40 |
49 |
#: gitar/templates/gitar/commit.djhtml:98 |
41 |
- | msgid "Modified file" |
+ |
50 |
msgid "Modified file" |
42 |
51 |
msgstr "" |
43 |
52 |
|
44 |
53 |
#: gitar/templates/gitar/commit.djhtml:100 |
45 |
- | msgid "Modified files" |
+ |
54 |
msgid "Modified files" |
46 |
55 |
msgstr "" |
47 |
56 |
|
48 |
57 |
#: gitar/templates/gitar/commit.djhtml:118 |
49 |
- | msgid "" |
+ |
58 |
msgid "" |
50 |
59 |
"\n" |
51 |
60 |
" addition\n" |
52 |
61 |
" " |
53 |
62 |
msgid_plural "" |
54 |
63 |
"\n" |
55 |
64 |
" additions\n" |
56 |
65 |
" " |
57 |
66 |
msgstr[0] "" |
58 |
67 |
msgstr[1] "" |
59 |
68 |
|
60 |
69 |
#: gitar/templates/gitar/commit.djhtml:123 |
61 |
- | msgid "and" |
+ |
70 |
msgid "and" |
62 |
71 |
msgstr "" |
63 |
72 |
|
64 |
73 |
#: gitar/templates/gitar/commit.djhtml:125 |
65 |
- | msgid "" |
+ |
74 |
msgid "" |
66 |
75 |
"\n" |
67 |
76 |
" deletion.\n" |
68 |
77 |
" " |
69 |
78 |
msgid_plural "" |
70 |
79 |
"\n" |
71 |
80 |
" deletions.\n" |
72 |
81 |
" " |
73 |
82 |
msgstr[0] "" |
74 |
83 |
msgstr[1] "" |
75 |
84 |
|
76 |
85 |
#: gitar/templates/gitar/commit.djhtml:135 |
77 |
- | msgid "View changes" |
+ |
86 |
msgid "View changes" |
78 |
87 |
msgstr "" |
79 |
88 |
|
80 |
89 |
#: gitar/templates/gitar/commit.djhtml:135 |
81 |
- | msgid "Hide changes" |
+ |
90 |
msgid "Hide changes" |
82 |
91 |
msgstr "" |
83 |
92 |
|
84 |
93 |
#: gitar/templates/gitar/directory.djhtml:30 |
85 |
- | msgid "Name" |
86 |
- | msgstr "" |
87 |
- | |
88 |
- | #: gitar/templates/gitar/directory.djhtml:31 |
89 |
- | msgid "Latest commit" |
90 |
- | msgstr "" |
+ |
94 |
msgid "Branches" |
+ |
95 |
msgstr "" |
91 |
96 |
|
92 |
97 |
#: gitar/templates/gitar/directory.djhtml:32 |
93 |
- | msgid "Latest update" |
94 |
- | msgstr "" |
+ |
98 |
msgid "Content" |
+ |
99 |
msgstr "" |
95 |
100 |
|
96 |
101 |
#: gitar/templates/gitar/directory.djhtml:62 |
97 |
- | msgid "Description" |
98 |
- | msgstr "" |
+ |
102 |
msgid "Subdirectories" |
+ |
103 |
msgstr "" |
99 |
104 |
|
100 |
105 |
#: gitar/templates/gitar/directory.djhtml:64 |
101 |
- | msgid "Branches" |
102 |
- | msgstr "" |
+ |
106 |
msgid "File name" |
+ |
107 |
msgstr "" |
103 |
108 |
|
104 |
109 |
#: gitar/templates/gitar/directory.djhtml:70 |
105 |
- | msgid "Extra information" |
106 |
- | msgstr "" |
+ |
110 |
msgid "Latest commit" |
+ |
111 |
msgstr "" |
107 |
112 |
|
108 |
113 |
#: gitar/templates/gitar/directory.djhtml:82 |
109 |
- | msgid "Files" |
110 |
- | msgstr "" |
+ |
114 |
msgid "Latest update" |
+ |
115 |
msgstr "" |
111 |
116 |
|
112 |
117 |
#: gitar/templates/gitar/directory.djhtml:113 |
113 |
- | msgid "Commits" |
+ |
118 |
msgid "Commits" |
114 |
119 |
msgstr "" |
115 |
120 |
|
116 |
121 |
#: gitar/templates/gitar/directory.djhtml:125 |
117 |
- | msgid "by" |
118 |
- | msgstr "" |
+ |
122 |
msgid "Description" |
+ |
123 |
msgstr "" |
119 |
124 |
|
120 |
125 |
#: gitar/templates/gitar/index.djhtml:5 |
121 |
126 |
msgid "Gitar | Index page" |
122 |
127 |
msgstr "" |
123 |
128 |
|
124 |
129 |
#: gitar/templates/gitar/index.djhtml:8 |
125 |
130 |
msgid "My personal answer to GitHub." |
126 |
131 |
msgstr "" |
127 |
132 |
|
128 |
133 |
#: gitar/templates/gitar/index.djhtml:29 |
129 |
- | msgid "Front page" |
130 |
- | msgstr "" |
+ |
134 |
msgid "Navigation" |
+ |
135 |
msgstr "" |
131 |
136 |
|
132 |
137 |
#: gitar/templates/gitar/index.djhtml:39 |
133 |
- | msgid "About Gitar" |
+ |
138 |
msgid "About Gitar" |
134 |
139 |
msgstr "" |
135 |
140 |
|
136 |
141 |
#: gitar/templates/gitar/index.djhtml:41 |
137 |
- | msgid "" |
+ |
142 |
msgid "" |
138 |
143 |
"\n" |
139 |
144 |
"\t\tGitar is a simple web app to easily host Git repositories using the " |
140 |
145 |
"Django framework.\n" |
141 |
146 |
" It's a hobby project of me, to make it easy for\n" |
142 |
147 |
" people to scroll through the code I publish, in a read-only fashion. " |
143 |
148 |
"It\n" |
144 |
149 |
" makes use of\n" |
145 |
150 |
" <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
146 |
151 |
" to read the source files, and apply the appropriate syntax " |
147 |
152 |
"coloring.\n" |
148 |
153 |
" " |
149 |
154 |
msgstr "" |
150 |
155 |
|
151 |
156 |
#: gitar/templates/gitar/index.djhtml:51 |
152 |
- | msgid "" |
+ |
157 |
msgid "" |
153 |
158 |
"All repositories are automatically updated when changes\n" |
154 |
159 |
" have been pushed to the server, without any manual intervention from " |
155 |
160 |
"me.\n" |
156 |
161 |
" Special attention goes to clean URL design, adhering to web " |
157 |
162 |
"standards,\n" |
158 |
163 |
" and responsive design across all screen types." |
159 |
164 |
msgstr "" |
160 |
165 |
|
161 |
166 |
#: gitar/templates/gitar/index.djhtml:57 |
162 |
- | msgid "" |
+ |
167 |
msgid "" |
163 |
168 |
"Gitar <b>is a project under development!</b>\n" |
164 |
169 |
" While it's certainly presentable, there's still a lot of room for " |
165 |
170 |
"improvement.<br />\n" |
166 |
171 |
" Also, if you happen to walk in while I'm working, it's possible " |
167 |
172 |
"you'll\n" |
168 |
173 |
" fall through the floor, so be warned =D" |
169 |
174 |
msgstr "" |
170 |
175 |
|
171 |
176 |
#: gitar/templates/gitar/index.djhtml:64 |
172 |
- | msgid "Public repositories" |
+ |
177 |
msgid "Public repositories" |
173 |
178 |
msgstr "" |
174 |
179 |
|
+ |
180 |
#: gitar/templates/gitar/index.djhtml:69 |
+ |
181 |
msgid "Primary programming language(s)" |
+ |
182 |
msgstr "" |
+ |
183 |
|
+ |
184 |
#: gitar/templates/gitar/index.djhtml:70 |
+ |
185 |
msgid "License" |
+ |
186 |
msgstr "" |
+ |
187 |
templates/gitar/locale/de/LC_MESSAGES/django.po ¶
88 additions and 67 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/templates/gitar/commit.djhtml:77 |
21 |
- | msgid "Author" |
+ |
21 |
#: gitar/templates/gitar/directory.djhtml:34 |
+ |
22 |
#: gitar/templates/gitar/index.djhtml:23 |
+ |
23 |
msgid "Front page" |
+ |
24 |
msgstr "Hauptseite" |
+ |
25 |
|
+ |
26 |
#: gitar/templates/gitar/commit.djhtml:92 |
+ |
27 |
#: gitar/templates/gitar/directory.djhtml:131 |
+ |
28 |
msgid "Author" |
22 |
29 |
msgstr "" |
23 |
- | |
+ |
30 |
|
24 |
31 |
#: gitar/templates/gitar/commit.djhtml:80 |
25 |
- | msgid "Date" |
+ |
32 |
#: gitar/templates/gitar/directory.djhtml:133 |
+ |
33 |
msgid "Date" |
26 |
34 |
msgstr "" |
27 |
- | |
+ |
35 |
|
28 |
36 |
#: gitar/templates/gitar/commit.djhtml:83 |
29 |
- | msgid "Hash" |
+ |
37 |
#: gitar/templates/gitar/directory.djhtml:130 |
+ |
38 |
msgid "Hash" |
30 |
39 |
msgstr "" |
31 |
- | |
+ |
40 |
|
32 |
41 |
#: gitar/templates/gitar/commit.djhtml:87 |
33 |
- | msgid "Parent" |
+ |
42 |
msgid "Parent" |
34 |
43 |
msgstr "" |
35 |
- | |
+ |
44 |
|
36 |
45 |
#: gitar/templates/gitar/commit.djhtml:89 |
37 |
- | msgid "Parents" |
+ |
46 |
msgid "Parents" |
38 |
47 |
msgstr "" |
39 |
- | |
+ |
48 |
|
40 |
49 |
#: gitar/templates/gitar/commit.djhtml:98 |
41 |
- | msgid "Modified file" |
+ |
50 |
msgid "Modified file" |
42 |
51 |
msgstr "" |
43 |
- | |
+ |
52 |
|
44 |
53 |
#: gitar/templates/gitar/commit.djhtml:100 |
45 |
- | msgid "Modified files" |
+ |
54 |
msgid "Modified files" |
46 |
55 |
msgstr "" |
47 |
- | |
+ |
56 |
|
48 |
57 |
#: gitar/templates/gitar/commit.djhtml:118 |
49 |
- | msgid "" |
+ |
58 |
msgid "" |
50 |
59 |
"\n" |
51 |
60 |
" addition\n" |
52 |
61 |
" " |
53 |
62 |
msgid_plural "" |
54 |
63 |
"\n" |
55 |
64 |
" additions\n" |
56 |
65 |
" " |
57 |
66 |
msgstr[0] "" |
58 |
- | msgstr[1] "" |
59 |
- | |
+ |
67 |
msgstr[1] "Zufügungen" |
+ |
68 |
|
60 |
69 |
#: gitar/templates/gitar/commit.djhtml:123 |
61 |
- | msgid "and" |
+ |
70 |
msgid "and" |
62 |
71 |
msgstr "" |
63 |
- | |
+ |
72 |
|
64 |
73 |
#: gitar/templates/gitar/commit.djhtml:125 |
65 |
- | msgid "" |
+ |
74 |
msgid "" |
66 |
75 |
"\n" |
67 |
76 |
" deletion.\n" |
68 |
77 |
" " |
69 |
78 |
msgid_plural "" |
70 |
79 |
"\n" |
71 |
80 |
" deletions.\n" |
72 |
81 |
" " |
73 |
82 |
msgstr[0] "" |
74 |
- | msgstr[1] "" |
75 |
- | |
+ |
83 |
msgstr[1] "Entfernungen" |
+ |
84 |
|
76 |
85 |
#: gitar/templates/gitar/commit.djhtml:135 |
77 |
- | msgid "View changes" |
+ |
86 |
msgid "View changes" |
78 |
87 |
msgstr "" |
79 |
- | |
+ |
88 |
|
80 |
89 |
#: gitar/templates/gitar/commit.djhtml:135 |
81 |
- | msgid "Hide changes" |
+ |
90 |
msgid "Hide changes" |
82 |
91 |
msgstr "" |
83 |
- | |
+ |
92 |
|
84 |
93 |
#: gitar/templates/gitar/directory.djhtml:30 |
85 |
- | msgid "Name" |
86 |
- | msgstr "" |
87 |
- | |
88 |
- | #: gitar/templates/gitar/directory.djhtml:31 |
89 |
- | msgid "Latest commit" |
90 |
- | msgstr "" |
91 |
- | |
+ |
94 |
msgid "Branches" |
+ |
95 |
msgstr "Äste" |
+ |
96 |
|
92 |
97 |
#: gitar/templates/gitar/directory.djhtml:32 |
93 |
- | msgid "Latest update" |
94 |
- | msgstr "" |
95 |
- | |
+ |
98 |
msgid "Content" |
+ |
99 |
msgstr "Inhalt" |
+ |
100 |
|
96 |
101 |
#: gitar/templates/gitar/directory.djhtml:62 |
97 |
- | msgid "Description" |
98 |
- | msgstr "" |
99 |
- | |
+ |
102 |
msgid "Subdirectories" |
+ |
103 |
msgstr "Unterverzeichnis" |
+ |
104 |
|
100 |
105 |
#: gitar/templates/gitar/directory.djhtml:64 |
101 |
- | msgid "Branches" |
102 |
- | msgstr "" |
103 |
- | |
+ |
106 |
msgid "File name" |
+ |
107 |
msgstr "Dateiname" |
+ |
108 |
|
104 |
109 |
#: gitar/templates/gitar/directory.djhtml:70 |
105 |
- | msgid "Extra information" |
106 |
- | msgstr "" |
107 |
- | |
+ |
110 |
msgid "Latest commit" |
+ |
111 |
msgstr "Letzte Commit" |
+ |
112 |
|
108 |
113 |
#: gitar/templates/gitar/directory.djhtml:82 |
109 |
- | msgid "Files" |
110 |
- | msgstr "" |
111 |
- | |
+ |
114 |
msgid "Latest update" |
+ |
115 |
msgstr "Aktualisierung" |
+ |
116 |
|
112 |
117 |
#: gitar/templates/gitar/directory.djhtml:113 |
113 |
- | msgid "Commits" |
+ |
118 |
msgid "Commits" |
114 |
119 |
msgstr "" |
115 |
- | |
+ |
120 |
|
116 |
121 |
#: gitar/templates/gitar/directory.djhtml:125 |
117 |
- | msgid "by" |
118 |
- | msgstr "" |
119 |
- | |
+ |
122 |
msgid "Description" |
+ |
123 |
msgstr "Beschreibung" |
+ |
124 |
|
120 |
125 |
#: gitar/templates/gitar/index.djhtml:5 |
121 |
126 |
msgid "Gitar | Index page" |
122 |
127 |
msgstr "" |
123 |
- | |
+ |
128 |
|
124 |
129 |
#: gitar/templates/gitar/index.djhtml:8 |
125 |
130 |
msgid "My personal answer to GitHub." |
126 |
131 |
msgstr "" |
127 |
- | |
+ |
132 |
|
128 |
133 |
#: gitar/templates/gitar/index.djhtml:29 |
129 |
- | msgid "Front page" |
130 |
- | msgstr "" |
131 |
- | |
+ |
134 |
msgid "Navigation" |
+ |
135 |
msgstr "Navigation" |
+ |
136 |
|
132 |
137 |
#: gitar/templates/gitar/index.djhtml:39 |
133 |
- | msgid "About Gitar" |
+ |
138 |
msgid "About Gitar" |
134 |
139 |
msgstr "" |
135 |
- | |
+ |
140 |
|
136 |
141 |
#: gitar/templates/gitar/index.djhtml:41 |
137 |
- | msgid "" |
+ |
142 |
msgid "" |
138 |
143 |
"\n" |
139 |
144 |
"\t\tGitar is a simple web app to easily host Git repositories using the " |
140 |
145 |
"Django framework.\n" |
141 |
146 |
" It's a hobby project of me, to make it easy for\n" |
142 |
147 |
" people to scroll through the code I publish, in a read-only fashion. " |
143 |
148 |
"It\n" |
144 |
149 |
" makes use of\n" |
145 |
150 |
" <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
146 |
151 |
" to read the source files, and apply the appropriate syntax " |
147 |
152 |
"coloring.\n" |
148 |
153 |
" " |
149 |
154 |
msgstr "" |
150 |
155 |
|
+ |
156 |
"mit dem Django-Framework. Es ist ein Hobby-Projekt von mir, um es den " |
+ |
157 |
"Menschen leicht zu machen, durch den Code zu scrollen, den ich " |
+ |
158 |
"veröffentliche, auf schreibgeschützte Weise. Es nutzt Pygments, um die " |
+ |
159 |
"Quelldateien zu lesen und die entsprechende Syntax-Färbung anzuwenden." |
+ |
160 |
|
151 |
161 |
#: gitar/templates/gitar/index.djhtml:51 |
152 |
- | msgid "" |
+ |
162 |
msgid "" |
153 |
163 |
"All repositories are automatically updated when changes\n" |
154 |
164 |
" have been pushed to the server, without any manual intervention from " |
155 |
165 |
"me.\n" |
156 |
166 |
" Special attention goes to clean URL design, adhering to web " |
157 |
167 |
"standards,\n" |
158 |
168 |
" and responsive design across all screen types." |
159 |
169 |
msgstr "" |
160 |
170 |
|
161 |
171 |
#: gitar/templates/gitar/index.djhtml:57 |
162 |
- | msgid "" |
+ |
172 |
msgid "" |
163 |
173 |
"Gitar <b>is a project under development!</b>\n" |
164 |
174 |
" While it's certainly presentable, there's still a lot of room for " |
165 |
175 |
"improvement.<br />\n" |
166 |
176 |
" Also, if you happen to walk in while I'm working, it's possible " |
167 |
177 |
"you'll\n" |
168 |
178 |
" fall through the floor, so be warned =D" |
169 |
179 |
msgstr "" |
170 |
- | |
+ |
180 |
|
171 |
181 |
#: gitar/templates/gitar/index.djhtml:64 |
172 |
- | msgid "Public repositories" |
+ |
182 |
msgid "Public repositories" |
173 |
183 |
msgstr "" |
174 |
- | |
+ |
184 |
|
+ |
185 |
#: gitar/templates/gitar/index.djhtml:69 |
+ |
186 |
msgid "Primary programming language(s)" |
+ |
187 |
msgstr "Primäre Programmiersprache(n)" |
+ |
188 |
|
+ |
189 |
#: gitar/templates/gitar/index.djhtml:70 |
+ |
190 |
msgid "License" |
+ |
191 |
msgstr "Lizenzierung" |
+ |
192 |
|
+ |
193 |
#~ msgid "by" |
+ |
194 |
#~ msgstr "Tür" |
+ |
195 |
templates/gitar/locale/eo/LC_MESSAGES/django.po ¶
52 additions and 39 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/templates/gitar/commit.djhtml:77 |
21 |
- | msgid "Author" |
+ |
21 |
#: gitar/templates/gitar/directory.djhtml:34 |
+ |
22 |
#: gitar/templates/gitar/index.djhtml:23 |
+ |
23 |
msgid "Front page" |
+ |
24 |
msgstr "" |
+ |
25 |
|
+ |
26 |
#: gitar/templates/gitar/commit.djhtml:92 |
+ |
27 |
#: gitar/templates/gitar/directory.djhtml:131 |
+ |
28 |
msgid "Author" |
22 |
29 |
msgstr "" |
23 |
30 |
|
24 |
31 |
#: gitar/templates/gitar/commit.djhtml:80 |
25 |
- | msgid "Date" |
+ |
32 |
#: gitar/templates/gitar/directory.djhtml:133 |
+ |
33 |
msgid "Date" |
26 |
34 |
msgstr "" |
27 |
35 |
|
28 |
36 |
#: gitar/templates/gitar/commit.djhtml:83 |
29 |
- | msgid "Hash" |
+ |
37 |
#: gitar/templates/gitar/directory.djhtml:130 |
+ |
38 |
msgid "Hash" |
30 |
39 |
msgstr "" |
31 |
40 |
|
32 |
41 |
#: gitar/templates/gitar/commit.djhtml:87 |
33 |
- | msgid "Parent" |
+ |
42 |
msgid "Parent" |
34 |
43 |
msgstr "" |
35 |
44 |
|
36 |
45 |
#: gitar/templates/gitar/commit.djhtml:89 |
37 |
- | msgid "Parents" |
+ |
46 |
msgid "Parents" |
38 |
47 |
msgstr "" |
39 |
48 |
|
40 |
49 |
#: gitar/templates/gitar/commit.djhtml:98 |
41 |
- | msgid "Modified file" |
+ |
50 |
msgid "Modified file" |
42 |
51 |
msgstr "" |
43 |
52 |
|
44 |
53 |
#: gitar/templates/gitar/commit.djhtml:100 |
45 |
- | msgid "Modified files" |
+ |
54 |
msgid "Modified files" |
46 |
55 |
msgstr "" |
47 |
56 |
|
48 |
57 |
#: gitar/templates/gitar/commit.djhtml:118 |
49 |
- | msgid "" |
+ |
58 |
msgid "" |
50 |
59 |
"\n" |
51 |
60 |
" addition\n" |
52 |
61 |
" " |
53 |
62 |
msgid_plural "" |
54 |
63 |
"\n" |
55 |
64 |
" additions\n" |
56 |
65 |
" " |
57 |
66 |
msgstr[0] "" |
58 |
67 |
msgstr[1] "" |
59 |
68 |
|
60 |
69 |
#: gitar/templates/gitar/commit.djhtml:123 |
61 |
- | msgid "and" |
+ |
70 |
msgid "and" |
62 |
71 |
msgstr "" |
63 |
72 |
|
64 |
73 |
#: gitar/templates/gitar/commit.djhtml:125 |
65 |
- | msgid "" |
+ |
74 |
msgid "" |
66 |
75 |
"\n" |
67 |
76 |
" deletion.\n" |
68 |
77 |
" " |
69 |
78 |
msgid_plural "" |
70 |
79 |
"\n" |
71 |
80 |
" deletions.\n" |
72 |
81 |
" " |
73 |
82 |
msgstr[0] "" |
74 |
83 |
msgstr[1] "" |
75 |
84 |
|
76 |
85 |
#: gitar/templates/gitar/commit.djhtml:135 |
77 |
- | msgid "View changes" |
+ |
86 |
msgid "View changes" |
78 |
87 |
msgstr "" |
79 |
88 |
|
80 |
89 |
#: gitar/templates/gitar/commit.djhtml:135 |
81 |
- | msgid "Hide changes" |
+ |
90 |
msgid "Hide changes" |
82 |
91 |
msgstr "" |
83 |
92 |
|
84 |
93 |
#: gitar/templates/gitar/directory.djhtml:30 |
85 |
- | msgid "Name" |
86 |
- | msgstr "" |
87 |
- | |
88 |
- | #: gitar/templates/gitar/directory.djhtml:31 |
89 |
- | msgid "Latest commit" |
90 |
- | msgstr "" |
+ |
94 |
msgid "Branches" |
+ |
95 |
msgstr "" |
91 |
96 |
|
92 |
97 |
#: gitar/templates/gitar/directory.djhtml:32 |
93 |
- | msgid "Latest update" |
94 |
- | msgstr "" |
+ |
98 |
msgid "Content" |
+ |
99 |
msgstr "" |
95 |
100 |
|
96 |
101 |
#: gitar/templates/gitar/directory.djhtml:62 |
97 |
- | msgid "Description" |
98 |
- | msgstr "" |
+ |
102 |
msgid "Subdirectories" |
+ |
103 |
msgstr "" |
99 |
104 |
|
100 |
105 |
#: gitar/templates/gitar/directory.djhtml:64 |
101 |
- | msgid "Branches" |
102 |
- | msgstr "" |
+ |
106 |
msgid "File name" |
+ |
107 |
msgstr "" |
103 |
108 |
|
104 |
109 |
#: gitar/templates/gitar/directory.djhtml:70 |
105 |
- | msgid "Extra information" |
106 |
- | msgstr "" |
+ |
110 |
msgid "Latest commit" |
+ |
111 |
msgstr "" |
107 |
112 |
|
108 |
113 |
#: gitar/templates/gitar/directory.djhtml:82 |
109 |
- | msgid "Files" |
110 |
- | msgstr "" |
+ |
114 |
msgid "Latest update" |
+ |
115 |
msgstr "" |
111 |
116 |
|
112 |
117 |
#: gitar/templates/gitar/directory.djhtml:113 |
113 |
- | msgid "Commits" |
+ |
118 |
msgid "Commits" |
114 |
119 |
msgstr "" |
115 |
120 |
|
116 |
121 |
#: gitar/templates/gitar/directory.djhtml:125 |
117 |
- | msgid "by" |
118 |
- | msgstr "" |
+ |
122 |
msgid "Description" |
+ |
123 |
msgstr "" |
119 |
124 |
|
120 |
125 |
#: gitar/templates/gitar/index.djhtml:5 |
121 |
126 |
msgid "Gitar | Index page" |
122 |
127 |
msgstr "" |
123 |
128 |
|
124 |
129 |
#: gitar/templates/gitar/index.djhtml:8 |
125 |
130 |
msgid "My personal answer to GitHub." |
126 |
131 |
msgstr "" |
127 |
132 |
|
128 |
133 |
#: gitar/templates/gitar/index.djhtml:29 |
129 |
- | msgid "Front page" |
130 |
- | msgstr "" |
+ |
134 |
msgid "Navigation" |
+ |
135 |
msgstr "" |
131 |
136 |
|
132 |
137 |
#: gitar/templates/gitar/index.djhtml:39 |
133 |
- | msgid "About Gitar" |
+ |
138 |
msgid "About Gitar" |
134 |
139 |
msgstr "" |
135 |
140 |
|
136 |
141 |
#: gitar/templates/gitar/index.djhtml:41 |
137 |
- | msgid "" |
+ |
142 |
msgid "" |
138 |
143 |
"\n" |
139 |
144 |
"\t\tGitar is a simple web app to easily host Git repositories using the " |
140 |
145 |
"Django framework.\n" |
141 |
146 |
" It's a hobby project of me, to make it easy for\n" |
142 |
147 |
" people to scroll through the code I publish, in a read-only fashion. " |
143 |
148 |
"It\n" |
144 |
149 |
" makes use of\n" |
145 |
150 |
" <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
146 |
151 |
" to read the source files, and apply the appropriate syntax " |
147 |
152 |
"coloring.\n" |
148 |
153 |
" " |
149 |
154 |
msgstr "" |
150 |
155 |
|
151 |
156 |
#: gitar/templates/gitar/index.djhtml:51 |
152 |
- | msgid "" |
+ |
157 |
msgid "" |
153 |
158 |
"All repositories are automatically updated when changes\n" |
154 |
159 |
" have been pushed to the server, without any manual intervention from " |
155 |
160 |
"me.\n" |
156 |
161 |
" Special attention goes to clean URL design, adhering to web " |
157 |
162 |
"standards,\n" |
158 |
163 |
" and responsive design across all screen types." |
159 |
164 |
msgstr "" |
160 |
165 |
|
161 |
166 |
#: gitar/templates/gitar/index.djhtml:57 |
162 |
- | msgid "" |
+ |
167 |
msgid "" |
163 |
168 |
"Gitar <b>is a project under development!</b>\n" |
164 |
169 |
" While it's certainly presentable, there's still a lot of room for " |
165 |
170 |
"improvement.<br />\n" |
166 |
171 |
" Also, if you happen to walk in while I'm working, it's possible " |
167 |
172 |
"you'll\n" |
168 |
173 |
" fall through the floor, so be warned =D" |
169 |
174 |
msgstr "" |
170 |
175 |
|
171 |
176 |
#: gitar/templates/gitar/index.djhtml:64 |
172 |
- | msgid "Public repositories" |
+ |
177 |
msgid "Public repositories" |
173 |
178 |
msgstr "" |
174 |
179 |
|
+ |
180 |
#: gitar/templates/gitar/index.djhtml:69 |
+ |
181 |
msgid "Primary programming language(s)" |
+ |
182 |
msgstr "" |
+ |
183 |
|
+ |
184 |
#: gitar/templates/gitar/index.djhtml:70 |
+ |
185 |
msgid "License" |
+ |
186 |
msgstr "" |
+ |
187 |
templates/gitar/locale/es/LC_MESSAGES/django.po ¶
52 additions and 39 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/templates/gitar/commit.djhtml:77 |
21 |
- | msgid "Author" |
+ |
21 |
#: gitar/templates/gitar/directory.djhtml:34 |
+ |
22 |
#: gitar/templates/gitar/index.djhtml:23 |
+ |
23 |
msgid "Front page" |
+ |
24 |
msgstr "" |
+ |
25 |
|
+ |
26 |
#: gitar/templates/gitar/commit.djhtml:92 |
+ |
27 |
#: gitar/templates/gitar/directory.djhtml:131 |
+ |
28 |
msgid "Author" |
22 |
29 |
msgstr "" |
23 |
30 |
|
24 |
31 |
#: gitar/templates/gitar/commit.djhtml:80 |
25 |
- | msgid "Date" |
+ |
32 |
#: gitar/templates/gitar/directory.djhtml:133 |
+ |
33 |
msgid "Date" |
26 |
34 |
msgstr "" |
27 |
35 |
|
28 |
36 |
#: gitar/templates/gitar/commit.djhtml:83 |
29 |
- | msgid "Hash" |
+ |
37 |
#: gitar/templates/gitar/directory.djhtml:130 |
+ |
38 |
msgid "Hash" |
30 |
39 |
msgstr "" |
31 |
40 |
|
32 |
41 |
#: gitar/templates/gitar/commit.djhtml:87 |
33 |
- | msgid "Parent" |
+ |
42 |
msgid "Parent" |
34 |
43 |
msgstr "" |
35 |
44 |
|
36 |
45 |
#: gitar/templates/gitar/commit.djhtml:89 |
37 |
- | msgid "Parents" |
+ |
46 |
msgid "Parents" |
38 |
47 |
msgstr "" |
39 |
48 |
|
40 |
49 |
#: gitar/templates/gitar/commit.djhtml:98 |
41 |
- | msgid "Modified file" |
+ |
50 |
msgid "Modified file" |
42 |
51 |
msgstr "" |
43 |
52 |
|
44 |
53 |
#: gitar/templates/gitar/commit.djhtml:100 |
45 |
- | msgid "Modified files" |
+ |
54 |
msgid "Modified files" |
46 |
55 |
msgstr "" |
47 |
56 |
|
48 |
57 |
#: gitar/templates/gitar/commit.djhtml:118 |
49 |
- | msgid "" |
+ |
58 |
msgid "" |
50 |
59 |
"\n" |
51 |
60 |
" addition\n" |
52 |
61 |
" " |
53 |
62 |
msgid_plural "" |
54 |
63 |
"\n" |
55 |
64 |
" additions\n" |
56 |
65 |
" " |
57 |
66 |
msgstr[0] "" |
58 |
67 |
msgstr[1] "" |
59 |
68 |
|
60 |
69 |
#: gitar/templates/gitar/commit.djhtml:123 |
61 |
- | msgid "and" |
+ |
70 |
msgid "and" |
62 |
71 |
msgstr "" |
63 |
72 |
|
64 |
73 |
#: gitar/templates/gitar/commit.djhtml:125 |
65 |
- | msgid "" |
+ |
74 |
msgid "" |
66 |
75 |
"\n" |
67 |
76 |
" deletion.\n" |
68 |
77 |
" " |
69 |
78 |
msgid_plural "" |
70 |
79 |
"\n" |
71 |
80 |
" deletions.\n" |
72 |
81 |
" " |
73 |
82 |
msgstr[0] "" |
74 |
83 |
msgstr[1] "" |
75 |
84 |
|
76 |
85 |
#: gitar/templates/gitar/commit.djhtml:135 |
77 |
- | msgid "View changes" |
+ |
86 |
msgid "View changes" |
78 |
87 |
msgstr "" |
79 |
88 |
|
80 |
89 |
#: gitar/templates/gitar/commit.djhtml:135 |
81 |
- | msgid "Hide changes" |
+ |
90 |
msgid "Hide changes" |
82 |
91 |
msgstr "" |
83 |
92 |
|
84 |
93 |
#: gitar/templates/gitar/directory.djhtml:30 |
85 |
- | msgid "Name" |
86 |
- | msgstr "" |
87 |
- | |
88 |
- | #: gitar/templates/gitar/directory.djhtml:31 |
89 |
- | msgid "Latest commit" |
90 |
- | msgstr "" |
+ |
94 |
msgid "Branches" |
+ |
95 |
msgstr "" |
91 |
96 |
|
92 |
97 |
#: gitar/templates/gitar/directory.djhtml:32 |
93 |
- | msgid "Latest update" |
94 |
- | msgstr "" |
+ |
98 |
msgid "Content" |
+ |
99 |
msgstr "" |
95 |
100 |
|
96 |
101 |
#: gitar/templates/gitar/directory.djhtml:62 |
97 |
- | msgid "Description" |
98 |
- | msgstr "" |
+ |
102 |
msgid "Subdirectories" |
+ |
103 |
msgstr "" |
99 |
104 |
|
100 |
105 |
#: gitar/templates/gitar/directory.djhtml:64 |
101 |
- | msgid "Branches" |
102 |
- | msgstr "" |
+ |
106 |
msgid "File name" |
+ |
107 |
msgstr "" |
103 |
108 |
|
104 |
109 |
#: gitar/templates/gitar/directory.djhtml:70 |
105 |
- | msgid "Extra information" |
106 |
- | msgstr "" |
+ |
110 |
msgid "Latest commit" |
+ |
111 |
msgstr "" |
107 |
112 |
|
108 |
113 |
#: gitar/templates/gitar/directory.djhtml:82 |
109 |
- | msgid "Files" |
110 |
- | msgstr "" |
+ |
114 |
msgid "Latest update" |
+ |
115 |
msgstr "" |
111 |
116 |
|
112 |
117 |
#: gitar/templates/gitar/directory.djhtml:113 |
113 |
- | msgid "Commits" |
+ |
118 |
msgid "Commits" |
114 |
119 |
msgstr "" |
115 |
120 |
|
116 |
121 |
#: gitar/templates/gitar/directory.djhtml:125 |
117 |
- | msgid "by" |
118 |
- | msgstr "" |
+ |
122 |
msgid "Description" |
+ |
123 |
msgstr "" |
119 |
124 |
|
120 |
125 |
#: gitar/templates/gitar/index.djhtml:5 |
121 |
126 |
msgid "Gitar | Index page" |
122 |
127 |
msgstr "" |
123 |
128 |
|
124 |
129 |
#: gitar/templates/gitar/index.djhtml:8 |
125 |
130 |
msgid "My personal answer to GitHub." |
126 |
131 |
msgstr "" |
127 |
132 |
|
128 |
133 |
#: gitar/templates/gitar/index.djhtml:29 |
129 |
- | msgid "Front page" |
130 |
- | msgstr "" |
+ |
134 |
msgid "Navigation" |
+ |
135 |
msgstr "" |
131 |
136 |
|
132 |
137 |
#: gitar/templates/gitar/index.djhtml:39 |
133 |
- | msgid "About Gitar" |
+ |
138 |
msgid "About Gitar" |
134 |
139 |
msgstr "" |
135 |
140 |
|
136 |
141 |
#: gitar/templates/gitar/index.djhtml:41 |
137 |
- | msgid "" |
+ |
142 |
msgid "" |
138 |
143 |
"\n" |
139 |
144 |
"\t\tGitar is a simple web app to easily host Git repositories using the " |
140 |
145 |
"Django framework.\n" |
141 |
146 |
" It's a hobby project of me, to make it easy for\n" |
142 |
147 |
" people to scroll through the code I publish, in a read-only fashion. " |
143 |
148 |
"It\n" |
144 |
149 |
" makes use of\n" |
145 |
150 |
" <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
146 |
151 |
" to read the source files, and apply the appropriate syntax " |
147 |
152 |
"coloring.\n" |
148 |
153 |
" " |
149 |
154 |
msgstr "" |
150 |
155 |
|
151 |
156 |
#: gitar/templates/gitar/index.djhtml:51 |
152 |
- | msgid "" |
+ |
157 |
msgid "" |
153 |
158 |
"All repositories are automatically updated when changes\n" |
154 |
159 |
" have been pushed to the server, without any manual intervention from " |
155 |
160 |
"me.\n" |
156 |
161 |
" Special attention goes to clean URL design, adhering to web " |
157 |
162 |
"standards,\n" |
158 |
163 |
" and responsive design across all screen types." |
159 |
164 |
msgstr "" |
160 |
165 |
|
161 |
166 |
#: gitar/templates/gitar/index.djhtml:57 |
162 |
- | msgid "" |
+ |
167 |
msgid "" |
163 |
168 |
"Gitar <b>is a project under development!</b>\n" |
164 |
169 |
" While it's certainly presentable, there's still a lot of room for " |
165 |
170 |
"improvement.<br />\n" |
166 |
171 |
" Also, if you happen to walk in while I'm working, it's possible " |
167 |
172 |
"you'll\n" |
168 |
173 |
" fall through the floor, so be warned =D" |
169 |
174 |
msgstr "" |
170 |
175 |
|
171 |
176 |
#: gitar/templates/gitar/index.djhtml:64 |
172 |
- | msgid "Public repositories" |
+ |
177 |
msgid "Public repositories" |
173 |
178 |
msgstr "" |
174 |
179 |
|
+ |
180 |
#: gitar/templates/gitar/index.djhtml:69 |
+ |
181 |
msgid "Primary programming language(s)" |
+ |
182 |
msgstr "" |
+ |
183 |
|
+ |
184 |
#: gitar/templates/gitar/index.djhtml:70 |
+ |
185 |
msgid "License" |
+ |
186 |
msgstr "" |
+ |
187 |
templates/gitar/locale/fr-be/LC_MESSAGES/django.po ¶
0 additions and 97 deletions.
View changes Hide changes
1 |
- | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
- | # This file is distributed under the same license as the PACKAGE package. |
3 |
- | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
- | # |
5 |
- | #, fuzzy |
6 |
- | msgid "" |
7 |
- | msgstr "" |
8 |
- | "Project-Id-Version: PACKAGE VERSION\n" |
9 |
- | "Report-Msgid-Bugs-To: \n" |
10 |
- | "POT-Creation-Date: 2021-11-24 14:00+0100\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
- | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
- | "Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
- | "Language: \n" |
15 |
- | "MIME-Version: 1.0\n" |
16 |
- | "Content-Type: text/plain; charset=UTF-8\n" |
17 |
- | "Content-Transfer-Encoding: 8bit\n" |
18 |
- | |
19 |
- | #: gitar/templates/gitar/directory.djhtml:29 |
20 |
- | msgid "Description" |
21 |
- | msgstr "" |
22 |
- | |
23 |
- | #: gitar/templates/gitar/directory.djhtml:31 |
24 |
- | msgid "Branches" |
25 |
- | msgstr "" |
26 |
- | |
27 |
- | #: gitar/templates/gitar/directory.djhtml:37 |
28 |
- | msgid "Extra information" |
29 |
- | msgstr "" |
30 |
- | |
31 |
- | #: gitar/templates/gitar/directory.djhtml:49 |
32 |
- | msgid "Files" |
33 |
- | msgstr "" |
34 |
- | |
35 |
- | #: gitar/templates/gitar/directory.djhtml:80 |
36 |
- | msgid "Commits" |
37 |
- | msgstr "" |
38 |
- | |
39 |
- | #: gitar/templates/gitar/directory.djhtml:92 |
40 |
- | msgid "by" |
41 |
- | msgstr "" |
42 |
- | |
43 |
- | #: gitar/templates/gitar/index.djhtml:5 |
44 |
- | msgid "Gitar | Index page" |
45 |
- | msgstr "" |
46 |
- | |
47 |
- | #: gitar/templates/gitar/index.djhtml:8 |
48 |
- | msgid "My personal answer to GitHub." |
49 |
- | msgstr "" |
50 |
- | |
51 |
- | #: gitar/templates/gitar/index.djhtml:29 |
52 |
- | msgid "Front page" |
53 |
- | msgstr "" |
54 |
- | |
55 |
- | #: gitar/templates/gitar/index.djhtml:39 |
56 |
- | msgid "About Gitar" |
57 |
- | msgstr "" |
58 |
- | |
59 |
- | #: gitar/templates/gitar/index.djhtml:41 |
60 |
- | msgid "" |
61 |
- | "\n" |
62 |
- | "\t\tGitar is a simple web app to easily host Git repositories using the " |
63 |
- | "Django framework.\n" |
64 |
- | " It's a hobby project of me, to make it easy for\n" |
65 |
- | " people to scroll through the code I publish, in a read-only fashion. " |
66 |
- | "It\n" |
67 |
- | " makes use of\n" |
68 |
- | " <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
69 |
- | " to read the source files, and apply the appropriate syntax " |
70 |
- | "coloring.\n" |
71 |
- | " " |
72 |
- | msgstr "" |
73 |
- | |
74 |
- | #: gitar/templates/gitar/index.djhtml:51 |
75 |
- | msgid "" |
76 |
- | "All repositories are automatically updated when changes\n" |
77 |
- | " have been pushed to the server, without any manual intervention from " |
78 |
- | "me.\n" |
79 |
- | " Special attention goes to clean URL design, adhering to web " |
80 |
- | "standards,\n" |
81 |
- | " and responsive design across all screen types." |
82 |
- | msgstr "" |
83 |
- | |
84 |
- | #: gitar/templates/gitar/index.djhtml:57 |
85 |
- | msgid "" |
86 |
- | "Gitar <b>is a project under development!</b>\n" |
87 |
- | " While it's certainly presentable, there's still a lot of room for " |
88 |
- | "improvement.<br />\n" |
89 |
- | " Also, if you happen to walk in while I'm working, it's possible " |
90 |
- | "you'll\n" |
91 |
- | " fall through the floor, so be warned =D" |
92 |
- | msgstr "" |
93 |
- | |
94 |
- | #: gitar/templates/gitar/index.djhtml:64 |
95 |
- | msgid "Public repositories" |
96 |
- | msgstr "" |
97 |
- |
templates/gitar/locale/fr/LC_MESSAGES/django.po ¶
89 additions and 78 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
msgid "" |
6 |
6 |
msgstr "" |
7 |
7 |
"Project-Id-Version: \n" |
8 |
8 |
"Report-Msgid-Bugs-To: \n" |
9 |
9 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
10 |
- | "PO-Revision-Date: 2021-10-30 16:05+0200\n" |
+ |
10 |
"PO-Revision-Date: 2021-10-30 16:05+0200\n" |
11 |
11 |
"Last-Translator: \n" |
12 |
12 |
"Language-Team: \n" |
13 |
13 |
"Language: fr\n" |
14 |
14 |
"MIME-Version: 1.0\n" |
15 |
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
16 |
16 |
"Content-Transfer-Encoding: 8bit\n" |
17 |
17 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
18 |
18 |
"X-Generator: Poedit 3.0\n" |
19 |
19 |
|
20 |
20 |
#: gitar/templates/gitar/commit.djhtml:77 |
21 |
- | msgid "Author" |
+ |
21 |
#: gitar/templates/gitar/directory.djhtml:34 |
+ |
22 |
#: gitar/templates/gitar/index.djhtml:23 |
+ |
23 |
msgid "Front page" |
+ |
24 |
msgstr "Page d'acceuil" |
+ |
25 |
|
+ |
26 |
#: gitar/templates/gitar/commit.djhtml:92 |
+ |
27 |
#: gitar/templates/gitar/directory.djhtml:131 |
+ |
28 |
msgid "Author" |
22 |
29 |
msgstr "" |
23 |
- | |
+ |
30 |
|
24 |
31 |
#: gitar/templates/gitar/commit.djhtml:80 |
25 |
- | msgid "Date" |
+ |
32 |
#: gitar/templates/gitar/directory.djhtml:133 |
+ |
33 |
msgid "Date" |
26 |
34 |
msgstr "" |
27 |
- | |
+ |
35 |
|
28 |
36 |
#: gitar/templates/gitar/commit.djhtml:83 |
29 |
- | msgid "Hash" |
+ |
37 |
#: gitar/templates/gitar/directory.djhtml:130 |
+ |
38 |
msgid "Hash" |
30 |
39 |
msgstr "" |
31 |
- | |
+ |
40 |
|
32 |
41 |
#: gitar/templates/gitar/commit.djhtml:87 |
33 |
- | msgid "Parent" |
+ |
42 |
msgid "Parent" |
34 |
43 |
msgstr "" |
35 |
- | |
+ |
44 |
|
36 |
45 |
#: gitar/templates/gitar/commit.djhtml:89 |
37 |
- | msgid "Parents" |
+ |
46 |
msgid "Parents" |
38 |
47 |
msgstr "" |
39 |
- | |
+ |
48 |
|
40 |
49 |
#: gitar/templates/gitar/commit.djhtml:98 |
41 |
- | msgid "Modified file" |
+ |
50 |
msgid "Modified file" |
42 |
51 |
msgstr "" |
43 |
- | |
+ |
52 |
|
44 |
53 |
#: gitar/templates/gitar/commit.djhtml:100 |
45 |
- | msgid "Modified files" |
+ |
54 |
msgid "Modified files" |
46 |
55 |
msgstr "" |
47 |
- | |
+ |
56 |
|
48 |
57 |
#: gitar/templates/gitar/commit.djhtml:118 |
49 |
- | msgid "" |
+ |
58 |
msgid "" |
50 |
59 |
"\n" |
51 |
60 |
" addition\n" |
52 |
61 |
" " |
53 |
62 |
msgid_plural "" |
54 |
63 |
"\n" |
55 |
64 |
" additions\n" |
56 |
65 |
" " |
57 |
66 |
msgstr[0] "" |
58 |
- | msgstr[1] "" |
59 |
- | |
+ |
67 |
msgstr[1] "additions" |
+ |
68 |
|
60 |
69 |
#: gitar/templates/gitar/commit.djhtml:123 |
61 |
- | msgid "and" |
+ |
70 |
msgid "and" |
62 |
71 |
msgstr "" |
63 |
- | |
+ |
72 |
|
64 |
73 |
#: gitar/templates/gitar/commit.djhtml:125 |
65 |
- | msgid "" |
+ |
74 |
msgid "" |
66 |
75 |
"\n" |
67 |
76 |
" deletion.\n" |
68 |
77 |
" " |
69 |
78 |
msgid_plural "" |
70 |
79 |
"\n" |
71 |
80 |
" deletions.\n" |
72 |
81 |
" " |
73 |
82 |
msgstr[0] "" |
74 |
- | msgstr[1] "" |
75 |
- | |
+ |
83 |
msgstr[1] "suppressions" |
+ |
84 |
|
76 |
85 |
#: gitar/templates/gitar/commit.djhtml:135 |
77 |
- | msgid "View changes" |
+ |
86 |
msgid "View changes" |
78 |
87 |
msgstr "" |
79 |
- | |
+ |
88 |
|
80 |
89 |
#: gitar/templates/gitar/commit.djhtml:135 |
81 |
- | msgid "Hide changes" |
+ |
90 |
msgid "Hide changes" |
82 |
91 |
msgstr "" |
83 |
- | |
84 |
- | #: gitar/templates/gitar/directory.djhtml:30 |
85 |
- | msgid "Name" |
86 |
- | msgstr "" |
87 |
- | |
+ |
92 |
|
88 |
93 |
#: gitar/templates/gitar/directory.djhtml:31 |
89 |
- | msgid "Latest commit" |
90 |
- | msgstr "" |
91 |
- | |
+ |
94 |
msgid "Branches" |
+ |
95 |
msgstr "Rameaux" |
+ |
96 |
|
92 |
97 |
#: gitar/templates/gitar/directory.djhtml:32 |
93 |
- | msgid "Latest update" |
94 |
- | msgstr "" |
95 |
- | |
+ |
98 |
msgid "Content" |
+ |
99 |
msgstr "Contenu" |
+ |
100 |
|
96 |
101 |
#: gitar/templates/gitar/directory.djhtml:62 |
97 |
- | msgid "Description" |
98 |
- | msgstr "Description" |
99 |
- | |
+ |
102 |
msgid "Subdirectories" |
+ |
103 |
msgstr "Repositories public" |
+ |
104 |
|
100 |
105 |
#: gitar/templates/gitar/directory.djhtml:64 |
101 |
- | msgid "Branches" |
102 |
- | msgstr "Branches" |
103 |
- | |
+ |
106 |
msgid "File name" |
+ |
107 |
msgstr "Nom du fichier" |
+ |
108 |
|
104 |
109 |
#: gitar/templates/gitar/directory.djhtml:70 |
105 |
- | msgid "Extra information" |
106 |
- | msgstr "Information additionel" |
107 |
- | |
+ |
110 |
msgid "Latest commit" |
+ |
111 |
msgstr "Dernière validation" |
+ |
112 |
|
108 |
113 |
#: gitar/templates/gitar/directory.djhtml:82 |
109 |
- | msgid "Files" |
110 |
- | msgstr "Fichiers" |
111 |
- | |
+ |
114 |
msgid "Latest update" |
+ |
115 |
msgstr "Dernière mise à jour" |
+ |
116 |
|
112 |
117 |
#: gitar/templates/gitar/directory.djhtml:113 |
113 |
- | msgid "Commits" |
+ |
118 |
msgid "Commits" |
114 |
119 |
msgstr "Commits" |
115 |
- | |
+ |
120 |
|
116 |
121 |
#: gitar/templates/gitar/directory.djhtml:125 |
117 |
- | msgid "by" |
118 |
- | msgstr "par" |
119 |
- | |
+ |
122 |
msgid "Description" |
+ |
123 |
msgstr "Description" |
+ |
124 |
|
120 |
125 |
#: gitar/templates/gitar/index.djhtml:5 |
121 |
126 |
msgid "Gitar | Index page" |
122 |
127 |
msgstr "Gitar | Page d'acceuil" |
123 |
128 |
|
124 |
129 |
#: gitar/templates/gitar/index.djhtml:8 |
125 |
130 |
msgid "My personal answer to GitHub." |
126 |
131 |
msgstr "Mon réponse personnel á GitHub." |
127 |
132 |
|
128 |
133 |
#: gitar/templates/gitar/index.djhtml:29 |
129 |
- | msgid "Front page" |
130 |
- | msgstr "" |
131 |
- | |
+ |
134 |
msgid "Navigation" |
+ |
135 |
msgstr "Navigation" |
+ |
136 |
|
132 |
137 |
#: gitar/templates/gitar/index.djhtml:39 |
133 |
- | msgid "About Gitar" |
+ |
138 |
msgid "About Gitar" |
134 |
139 |
msgstr "À propos de Gitar" |
135 |
140 |
|
136 |
141 |
#: gitar/templates/gitar/index.djhtml:41 |
137 |
- | #, fuzzy |
138 |
- | #| msgid "" |
139 |
- | #| "Gitar is a hobby project of me, to make it easy for\n" |
140 |
- | #| " people to scroll through the code I publish, in a read-only " |
141 |
- | #| "fashion. It\n" |
142 |
- | #| " makes use of\n" |
143 |
- | #| " <a class=\"%(mdac)s-text text-accent-3\" href=\"http://pygments." |
144 |
- | #| "org/\">Pygments</a>\n" |
145 |
- | #| " to read the source files, and apply the appropriate syntax " |
146 |
- | #| "coloring.\n" |
147 |
- | #| " " |
148 |
- | msgid "" |
+ |
142 |
msgid "" |
149 |
143 |
"\n" |
150 |
144 |
"\t\tGitar is a simple web app to easily host Git repositories using the " |
151 |
145 |
"Django framework.\n" |
152 |
146 |
" It's a hobby project of me, to make it easy for\n" |
153 |
147 |
" people to scroll through the code I publish, in a read-only fashion. " |
154 |
148 |
"It\n" |
155 |
149 |
" makes use of\n" |
156 |
150 |
" <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
157 |
151 |
" to read the source files, and apply the appropriate syntax " |
158 |
152 |
"coloring.\n" |
159 |
153 |
" " |
160 |
154 |
msgstr "" |
161 |
155 |
"Gitar est un projet hobby de moi, pour rendre facile pour les gens de faire " |
162 |
156 |
"défiler le code que je publie, d'une manière simple. Il utilise <a class=" |
163 |
- | "\"%(mdac)s-text text-accent-3\" href=\"http://pygments.org/\">Pygments</a> " |
164 |
- | "pour lire les fichiers sources, et appliquer la coloration de syntaxe " |
165 |
- | "appropriée." |
166 |
- | |
+ |
157 |
"class=\"%(mdac)s-text text-accent-3\" href=\"http://pygments.org/" |
+ |
158 |
"\">Pygments</a> pour lire les fichiers sources, et appliquer la coloration " |
+ |
159 |
"de syntaxe appropriée." |
+ |
160 |
|
167 |
161 |
#: gitar/templates/gitar/index.djhtml:51 |
168 |
- | msgid "" |
+ |
162 |
msgid "" |
169 |
163 |
"All repositories are automatically updated when changes\n" |
170 |
164 |
" have been pushed to the server, without any manual intervention from " |
171 |
165 |
"me.\n" |
172 |
166 |
" Special attention goes to clean URL design, adhering to web " |
173 |
167 |
"standards,\n" |
174 |
168 |
" and responsive design across all screen types." |
175 |
169 |
msgstr "" |
176 |
170 |
"Tous les dépôts sont automatiquement mis à jour lorsque des changements ont " |
177 |
171 |
"été poussés sur le serveur, sans aucune intervention manuelle de moi. Une " |
178 |
172 |
"attention particulière va à la conception d'URL propre, adhérant aux normes " |
179 |
173 |
"Web, et la conception réactive de tous les types d'écran." |
180 |
174 |
|
181 |
175 |
#: gitar/templates/gitar/index.djhtml:57 |
182 |
- | msgid "" |
+ |
176 |
msgid "" |
183 |
177 |
"Gitar <b>is a project under development!</b>\n" |
184 |
178 |
" While it's certainly presentable, there's still a lot of room for " |
185 |
179 |
"improvement.<br />\n" |
186 |
180 |
" Also, if you happen to walk in while I'm working, it's possible " |
187 |
181 |
"you'll\n" |
188 |
182 |
" fall through the floor, so be warned =D" |
189 |
183 |
msgstr "" |
190 |
184 |
"Gitar est un projet <strong>en cours de développement!</strong> Bien qu'il " |
191 |
185 |
"soit certainement présentable, il y a encore beaucoup de place pour " |
192 |
186 |
"l'amélioration.<br>\n" |
193 |
187 |
"Aussi, si vous arrivez à marcher pendant que je travaille, il est possible " |
194 |
188 |
"que vous allez\n" |
195 |
189 |
"tombez par terre, alors soyez prudent =D" |
196 |
190 |
|
197 |
191 |
#: gitar/templates/gitar/index.djhtml:64 |
198 |
- | msgid "Public repositories" |
+ |
192 |
msgid "Public repositories" |
199 |
193 |
msgstr "Repositories public" |
200 |
- | |
+ |
194 |
|
+ |
195 |
#: gitar/templates/gitar/index.djhtml:69 |
+ |
196 |
msgid "Primary programming language(s)" |
+ |
197 |
msgstr "Langage(s) de programmation primaire(s)" |
+ |
198 |
|
+ |
199 |
#: gitar/templates/gitar/index.djhtml:70 |
+ |
200 |
msgid "License" |
+ |
201 |
msgstr "Licence" |
+ |
202 |
|
+ |
203 |
#~ msgid "by" |
+ |
204 |
#~ msgstr "par" |
+ |
205 |
|
+ |
206 |
#~ msgid "Extra information" |
+ |
207 |
#~ msgstr "Information additionel" |
+ |
208 |
|
+ |
209 |
#~ msgid "Files" |
+ |
210 |
#~ msgstr "Fichiers" |
+ |
211 |
|
201 |
212 |
#, fuzzy |
202 |
213 |
#~| msgid "Commits" |
203 |
214 |
#~ msgid "Commited by" |
204 |
215 |
#~ msgstr "Commits" |
205 |
216 |
|
206 |
217 |
#~ msgid "" |
207 |
218 |
#~ "Gitar is a simple web app to easily host Git repositories using the " |
208 |
219 |
#~ "Django framework." |
209 |
220 |
#~ msgstr "" |
210 |
221 |
#~ "Gitar est une simple application web pour héberger facilement les dépôts " |
211 |
222 |
#~ "Git en utilisant le cadre logiciel Django." |
212 |
223 |
templates/gitar/locale/nl-be/LC_MESSAGES/django.po ¶
0 additions and 97 deletions.
View changes Hide changes
1 |
- | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
- | # This file is distributed under the same license as the PACKAGE package. |
3 |
- | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
- | # |
5 |
- | #, fuzzy |
6 |
- | msgid "" |
7 |
- | msgstr "" |
8 |
- | "Project-Id-Version: PACKAGE VERSION\n" |
9 |
- | "Report-Msgid-Bugs-To: \n" |
10 |
- | "POT-Creation-Date: 2021-11-24 14:00+0100\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
- | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
- | "Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
- | "Language: \n" |
15 |
- | "MIME-Version: 1.0\n" |
16 |
- | "Content-Type: text/plain; charset=UTF-8\n" |
17 |
- | "Content-Transfer-Encoding: 8bit\n" |
18 |
- | |
19 |
- | #: gitar/templates/gitar/directory.djhtml:29 |
20 |
- | msgid "Description" |
21 |
- | msgstr "" |
22 |
- | |
23 |
- | #: gitar/templates/gitar/directory.djhtml:31 |
24 |
- | msgid "Branches" |
25 |
- | msgstr "" |
26 |
- | |
27 |
- | #: gitar/templates/gitar/directory.djhtml:37 |
28 |
- | msgid "Extra information" |
29 |
- | msgstr "" |
30 |
- | |
31 |
- | #: gitar/templates/gitar/directory.djhtml:49 |
32 |
- | msgid "Files" |
33 |
- | msgstr "" |
34 |
- | |
35 |
- | #: gitar/templates/gitar/directory.djhtml:80 |
36 |
- | msgid "Commits" |
37 |
- | msgstr "" |
38 |
- | |
39 |
- | #: gitar/templates/gitar/directory.djhtml:92 |
40 |
- | msgid "by" |
41 |
- | msgstr "" |
42 |
- | |
43 |
- | #: gitar/templates/gitar/index.djhtml:5 |
44 |
- | msgid "Gitar | Index page" |
45 |
- | msgstr "" |
46 |
- | |
47 |
- | #: gitar/templates/gitar/index.djhtml:8 |
48 |
- | msgid "My personal answer to GitHub." |
49 |
- | msgstr "" |
50 |
- | |
51 |
- | #: gitar/templates/gitar/index.djhtml:29 |
52 |
- | msgid "Front page" |
53 |
- | msgstr "" |
54 |
- | |
55 |
- | #: gitar/templates/gitar/index.djhtml:39 |
56 |
- | msgid "About Gitar" |
57 |
- | msgstr "" |
58 |
- | |
59 |
- | #: gitar/templates/gitar/index.djhtml:41 |
60 |
- | msgid "" |
61 |
- | "\n" |
62 |
- | "\t\tGitar is a simple web app to easily host Git repositories using the " |
63 |
- | "Django framework.\n" |
64 |
- | " It's a hobby project of me, to make it easy for\n" |
65 |
- | " people to scroll through the code I publish, in a read-only fashion. " |
66 |
- | "It\n" |
67 |
- | " makes use of\n" |
68 |
- | " <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
69 |
- | " to read the source files, and apply the appropriate syntax " |
70 |
- | "coloring.\n" |
71 |
- | " " |
72 |
- | msgstr "" |
73 |
- | |
74 |
- | #: gitar/templates/gitar/index.djhtml:51 |
75 |
- | msgid "" |
76 |
- | "All repositories are automatically updated when changes\n" |
77 |
- | " have been pushed to the server, without any manual intervention from " |
78 |
- | "me.\n" |
79 |
- | " Special attention goes to clean URL design, adhering to web " |
80 |
- | "standards,\n" |
81 |
- | " and responsive design across all screen types." |
82 |
- | msgstr "" |
83 |
- | |
84 |
- | #: gitar/templates/gitar/index.djhtml:57 |
85 |
- | msgid "" |
86 |
- | "Gitar <b>is a project under development!</b>\n" |
87 |
- | " While it's certainly presentable, there's still a lot of room for " |
88 |
- | "improvement.<br />\n" |
89 |
- | " Also, if you happen to walk in while I'm working, it's possible " |
90 |
- | "you'll\n" |
91 |
- | " fall through the floor, so be warned =D" |
92 |
- | msgstr "" |
93 |
- | |
94 |
- | #: gitar/templates/gitar/index.djhtml:64 |
95 |
- | msgid "Public repositories" |
96 |
- | msgstr "" |
97 |
- |
templates/gitar/locale/nl/LC_MESSAGES/django.po ¶
87 additions and 77 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-04-04 23:18+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: gitar/templates/gitar/commit.djhtml:77 |
21 |
- | msgid "Author" |
+ |
21 |
#: gitar/templates/gitar/directory.djhtml:34 |
+ |
22 |
#: gitar/templates/gitar/index.djhtml:23 |
+ |
23 |
msgid "Front page" |
+ |
24 |
msgstr "Hoofdpagina" |
+ |
25 |
|
+ |
26 |
#: gitar/templates/gitar/commit.djhtml:92 |
+ |
27 |
#: gitar/templates/gitar/directory.djhtml:131 |
+ |
28 |
msgid "Author" |
22 |
29 |
msgstr "" |
23 |
- | |
+ |
30 |
|
24 |
31 |
#: gitar/templates/gitar/commit.djhtml:80 |
25 |
- | msgid "Date" |
+ |
32 |
#: gitar/templates/gitar/directory.djhtml:133 |
+ |
33 |
msgid "Date" |
26 |
34 |
msgstr "" |
27 |
- | |
+ |
35 |
|
28 |
36 |
#: gitar/templates/gitar/commit.djhtml:83 |
29 |
- | msgid "Hash" |
+ |
37 |
#: gitar/templates/gitar/directory.djhtml:130 |
+ |
38 |
msgid "Hash" |
30 |
39 |
msgstr "" |
31 |
- | |
+ |
40 |
|
32 |
41 |
#: gitar/templates/gitar/commit.djhtml:87 |
33 |
- | msgid "Parent" |
+ |
42 |
msgid "Parent" |
34 |
43 |
msgstr "" |
35 |
- | |
+ |
44 |
|
36 |
45 |
#: gitar/templates/gitar/commit.djhtml:89 |
37 |
- | msgid "Parents" |
+ |
46 |
msgid "Parents" |
38 |
47 |
msgstr "" |
39 |
- | |
+ |
48 |
|
40 |
49 |
#: gitar/templates/gitar/commit.djhtml:98 |
41 |
- | msgid "Modified file" |
+ |
50 |
msgid "Modified file" |
42 |
51 |
msgstr "" |
43 |
- | |
+ |
52 |
|
44 |
53 |
#: gitar/templates/gitar/commit.djhtml:100 |
45 |
- | msgid "Modified files" |
+ |
54 |
msgid "Modified files" |
46 |
55 |
msgstr "" |
47 |
- | |
+ |
56 |
|
48 |
57 |
#: gitar/templates/gitar/commit.djhtml:118 |
49 |
- | msgid "" |
+ |
58 |
msgid "" |
50 |
59 |
"\n" |
51 |
60 |
" addition\n" |
52 |
61 |
" " |
53 |
62 |
msgid_plural "" |
54 |
63 |
"\n" |
55 |
64 |
" additions\n" |
56 |
65 |
" " |
57 |
66 |
msgstr[0] "" |
58 |
- | msgstr[1] "" |
59 |
- | |
+ |
67 |
msgstr[1] "toevoegingen" |
+ |
68 |
|
60 |
69 |
#: gitar/templates/gitar/commit.djhtml:123 |
61 |
- | msgid "and" |
+ |
70 |
msgid "and" |
62 |
71 |
msgstr "" |
63 |
- | |
+ |
72 |
|
64 |
73 |
#: gitar/templates/gitar/commit.djhtml:125 |
65 |
- | msgid "" |
+ |
74 |
msgid "" |
66 |
75 |
"\n" |
67 |
76 |
" deletion.\n" |
68 |
77 |
" " |
69 |
78 |
msgid_plural "" |
70 |
79 |
"\n" |
71 |
80 |
" deletions.\n" |
72 |
81 |
" " |
73 |
82 |
msgstr[0] "" |
74 |
- | msgstr[1] "" |
75 |
- | |
+ |
83 |
msgstr[1] "verwijderingen" |
+ |
84 |
|
76 |
85 |
#: gitar/templates/gitar/commit.djhtml:135 |
77 |
- | msgid "View changes" |
+ |
86 |
msgid "View changes" |
78 |
87 |
msgstr "" |
79 |
- | |
+ |
88 |
|
80 |
89 |
#: gitar/templates/gitar/commit.djhtml:135 |
81 |
- | msgid "Hide changes" |
+ |
90 |
msgid "Hide changes" |
82 |
91 |
msgstr "" |
83 |
- | |
84 |
- | #: gitar/templates/gitar/directory.djhtml:30 |
85 |
- | msgid "Name" |
86 |
- | msgstr "" |
87 |
- | |
+ |
92 |
|
88 |
93 |
#: gitar/templates/gitar/directory.djhtml:31 |
89 |
- | msgid "Latest commit" |
90 |
- | msgstr "" |
91 |
- | |
+ |
94 |
msgid "Branches" |
+ |
95 |
msgstr "Takken" |
+ |
96 |
|
92 |
97 |
#: gitar/templates/gitar/directory.djhtml:32 |
93 |
- | msgid "Latest update" |
94 |
- | msgstr "" |
95 |
- | |
+ |
98 |
msgid "Content" |
+ |
99 |
msgstr "Inhoud" |
+ |
100 |
|
96 |
101 |
#: gitar/templates/gitar/directory.djhtml:62 |
97 |
- | msgid "Description" |
98 |
- | msgstr "Beschrijving" |
99 |
- | |
+ |
102 |
msgid "Subdirectories" |
+ |
103 |
msgstr "Submappen" |
+ |
104 |
|
100 |
105 |
#: gitar/templates/gitar/directory.djhtml:64 |
101 |
- | msgid "Branches" |
102 |
- | msgstr "Takken" |
103 |
- | |
+ |
106 |
msgid "File name" |
+ |
107 |
msgstr "Bestandsnaam" |
+ |
108 |
|
104 |
109 |
#: gitar/templates/gitar/directory.djhtml:70 |
105 |
- | msgid "Extra information" |
106 |
- | msgstr "Extra informatie" |
107 |
- | |
+ |
110 |
msgid "Latest commit" |
+ |
111 |
msgstr "Laatste validatie" |
+ |
112 |
|
108 |
113 |
#: gitar/templates/gitar/directory.djhtml:82 |
109 |
- | msgid "Files" |
110 |
- | msgstr "Bestanden" |
111 |
- | |
+ |
114 |
msgid "Latest update" |
+ |
115 |
msgstr "Laatste update" |
+ |
116 |
|
112 |
117 |
#: gitar/templates/gitar/directory.djhtml:113 |
113 |
- | msgid "Commits" |
+ |
118 |
msgid "Commits" |
114 |
119 |
msgstr "Commits" |
115 |
- | |
+ |
120 |
|
116 |
121 |
#: gitar/templates/gitar/directory.djhtml:125 |
117 |
- | msgid "by" |
118 |
- | msgstr "door" |
119 |
- | |
+ |
122 |
msgid "Description" |
+ |
123 |
msgstr "Beschrijving" |
+ |
124 |
|
120 |
125 |
#: gitar/templates/gitar/index.djhtml:5 |
121 |
126 |
msgid "Gitar | Index page" |
122 |
127 |
msgstr "Gitar | Hoofdpagina" |
123 |
- | |
+ |
128 |
|
124 |
129 |
#: gitar/templates/gitar/index.djhtml:8 |
125 |
130 |
msgid "My personal answer to GitHub." |
126 |
131 |
msgstr "Mijn persoonlijke antwoord op Github." |
127 |
132 |
|
128 |
133 |
#: gitar/templates/gitar/index.djhtml:29 |
129 |
- | msgid "Front page" |
130 |
- | msgstr "" |
131 |
- | |
+ |
134 |
msgid "Navigation" |
+ |
135 |
msgstr "Navigatie" |
+ |
136 |
|
132 |
137 |
#: gitar/templates/gitar/index.djhtml:39 |
133 |
- | msgid "About Gitar" |
+ |
138 |
msgid "About Gitar" |
134 |
139 |
msgstr "Over Gitar" |
135 |
140 |
|
136 |
141 |
#: gitar/templates/gitar/index.djhtml:41 |
137 |
- | #, fuzzy |
138 |
- | #| msgid "" |
139 |
- | #| "Gitar is a hobby project of me, to make it easy for\n" |
140 |
- | #| " people to scroll through the code I publish, in a read-only " |
141 |
- | #| "fashion. It\n" |
142 |
- | #| " makes use of\n" |
143 |
- | #| " <a class=\"%(mdac)s-text text-accent-3\" href=\"http://pygments." |
144 |
- | #| "org/\">Pygments</a>\n" |
145 |
- | #| " to read the source files, and apply the appropriate syntax " |
146 |
- | #| "coloring.\n" |
147 |
- | #| " " |
148 |
- | msgid "" |
+ |
142 |
msgid "" |
149 |
143 |
"\n" |
150 |
144 |
"\t\tGitar is a simple web app to easily host Git repositories using the " |
151 |
145 |
"Django framework.\n" |
152 |
146 |
" It's a hobby project of me, to make it easy for\n" |
153 |
147 |
" people to scroll through the code I publish, in a read-only fashion. " |
154 |
148 |
"It\n" |
155 |
149 |
" makes use of\n" |
156 |
150 |
" <a href=\"https://pygments.org/\" target=\"_blank\">Pygments</a>\n" |
157 |
151 |
" to read the source files, and apply the appropriate syntax " |
158 |
152 |
"coloring.\n" |
159 |
153 |
" " |
160 |
154 |
msgstr "" |
161 |
155 |
"Gitar is een persoonlijk hobbyproject, om het makkelijk te maken voor mensen " |
162 |
156 |
"om door mijn code te scrollen, zoals deze in mijn repo's te zien is. Het " |
163 |
157 |
"maakt gebruik van <a class=\"%(mdac)s-text text-accent-3\" href=\"http://" |
164 |
- | "pygments.org/\">Pygments</a> om de code te lezen, en de juiste " |
165 |
- | "syntaxkleuring toe te passen." |
166 |
- | |
+ |
158 |
"te lezen, en de juiste syntaxkleuring toe te passen." |
+ |
159 |
|
167 |
160 |
#: gitar/templates/gitar/index.djhtml:51 |
168 |
- | msgid "" |
+ |
161 |
msgid "" |
169 |
162 |
"All repositories are automatically updated when changes\n" |
170 |
163 |
" have been pushed to the server, without any manual intervention from " |
171 |
164 |
"me.\n" |
172 |
165 |
" Special attention goes to clean URL design, adhering to web " |
173 |
166 |
"standards,\n" |
174 |
167 |
" and responsive design across all screen types." |
175 |
168 |
msgstr "" |
176 |
169 |
"Alle repositories worden automatisch geüpdatet als er veranderingen naar de " |
177 |
170 |
"server gestuurd worden, zonder manuele toedracht van mijn kant. Er wordt " |
178 |
171 |
"aandacht besteedt aan het maken van propere en duidelijke URL's, het volgen " |
179 |
172 |
"van de juiste webstandaarden, en een gebruiksvriendelijk ontwerp op alle " |
180 |
173 |
"soorten schermen." |
181 |
174 |
|
182 |
175 |
#: gitar/templates/gitar/index.djhtml:57 |
183 |
- | msgid "" |
+ |
176 |
msgid "" |
184 |
177 |
"Gitar <b>is a project under development!</b>\n" |
185 |
178 |
" While it's certainly presentable, there's still a lot of room for " |
186 |
179 |
"improvement.<br />\n" |
187 |
180 |
" Also, if you happen to walk in while I'm working, it's possible " |
188 |
181 |
"you'll\n" |
189 |
182 |
" fall through the floor, so be warned =D" |
190 |
183 |
msgstr "" |
191 |
184 |
"Gitar <b>is een project dat nog niet af is!</b>\n" |
192 |
185 |
"Alheowel het presentabel is, is er nog meer dan genoeg ruimte voor " |
193 |
186 |
"verbetering. Het kan dus zijn dat ik aan het prullen ben, en de website " |
194 |
187 |
"plots ineenstort, je bent gewaarschuwd. ;)" |
195 |
188 |
|
196 |
189 |
#: gitar/templates/gitar/index.djhtml:64 |
197 |
- | msgid "Public repositories" |
+ |
190 |
msgid "Public repositories" |
198 |
191 |
msgstr "Publieke repositories" |
199 |
192 |
|
200 |
193 |
#, fuzzy |
+ |
194 |
msgid "Primary programming language(s)" |
+ |
195 |
msgstr "Primaire programmeertaal of -talen" |
+ |
196 |
|
+ |
197 |
#: gitar/templates/gitar/index.djhtml:70 |
+ |
198 |
msgid "License" |
+ |
199 |
msgstr "Licentie" |
+ |
200 |
|
+ |
201 |
#~ msgid "by" |
+ |
202 |
#~ msgstr "door" |
+ |
203 |
|
+ |
204 |
#~ msgid "Extra information" |
+ |
205 |
#~ msgstr "Extra informatie" |
+ |
206 |
|
+ |
207 |
#~ msgid "Files" |
+ |
208 |
#~ msgstr "Bestanden" |
+ |
209 |
|
+ |
210 |
#, fuzzy |
201 |
211 |
#~| msgid "Commits" |
202 |
212 |
#~ msgid "Commited by" |
203 |
213 |
#~ msgstr "Commits" |
204 |
214 |
|
205 |
215 |
#~ msgid "" |
206 |
216 |
#~ "Gitar is a simple web app to easily host Git repositories using the " |
207 |
217 |
#~ "Django framework." |
208 |
218 |
#~ msgstr "" |
209 |
219 |
#~ "Gitar is een simpele web app om gemakkelijk Git-repo's te hosten met " |
210 |
220 |
#~ "behulp van het Django-framework." |
211 |
221 |
views.py ¶
3 additions and 3 deletions.
View changes Hide changes
1 |
1 |
Copyright © 2016 Maarten "Vngngdn" Vangeneugden |
2 |
2 |
|
3 |
3 |
This program is free software: you can redistribute it and/or modify |
4 |
4 |
it under the terms of the GNU Affero General Public License as |
5 |
5 |
published by the Free Software Foundation, either version 3 of the |
6 |
6 |
License, or (at your option) any later version. |
7 |
7 |
|
8 |
8 |
This program is distributed in the hope that it will be useful, |
9 |
9 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 |
10 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 |
11 |
GNU Affero General Public License for more details. |
12 |
12 |
|
13 |
13 |
You should have received a copy of the GNU Affero General Public License |
14 |
14 |
along with this program. If not, see https://www.gnu.org/licenses/agpl.html. |
15 |
15 |
""" |
16 |
16 |
|
17 |
17 |
from django.shortcuts import get_object_or_404, render # This allows to render the template with the view here. It's pretty cool and important. |
18 |
18 |
from django.http import HttpResponseRedirect, HttpResponse |
19 |
19 |
from django.urls import reverse |
20 |
20 |
from .models import * |
21 |
21 |
|
22 |
22 |
from .GitActions import RepoInfo, FileInfo, CommitInfo |
23 |
23 |
from django.utils.translation import ugettext as _ |
24 |
- | |
+ |
24 |
|
25 |
25 |
from django.utils.translation import ugettext as _ |
26 |
- | from git import Repo # GitPython functionality. |
27 |
26 |
import git |
28 |
27 |
import pydriller |
29 |
28 |
|
30 |
29 |
import datetime |
31 |
30 |
|
32 |
31 |
from .syntax import * |
33 |
32 |
|
34 |
33 |
|
35 |
34 |
# First, I list some standard variables that are common for most of the sites of this app. |
36 |
35 |
|
37 |
36 |
def footer_description(): |
38 |
37 |
return _("Gitar is a simple web app that allows its users to easily share Git repos in combination with the Django framework.") |
39 |
38 |
|
40 |
39 |
def footer_links(): |
41 |
40 |
footer_links = [ |
42 |
41 |
[_('Home page'), reverse('about-index')], |
43 |
42 |
#[_('Source code'), reverse('gitar-repository', kwargs={'repository_name':'gitar'})], |
44 |
43 |
] |
45 |
44 |
return footer_links |
46 |
45 |
|
47 |
46 |
def standard_context(): |
48 |
47 |
context = { |
49 |
48 |
'navbar_title': "Gitar", |
50 |
49 |
'navbar_backArrow': False, |
51 |
50 |
'footer_title': "Gitar", |
52 |
51 |
'footer_description': footer_description(), |
53 |
52 |
'footer_links': footer_links(), |
54 |
53 |
'stylesheet_name': "gitar", |
55 |
54 |
} |
56 |
55 |
return context |
57 |
56 |
|
58 |
57 |
def download_tar(request): |
59 |
58 |
pass |
60 |
59 |
def download_git(request): |
61 |
60 |
pass |
62 |
61 |
def commit(request, repository_name, commit_hash): |
63 |
62 |
template = "gitar/commit.djhtml" |
64 |
63 |
|
65 |
64 |
repository_model = RepoInfo.get_repository_model(repository_name) |
66 |
65 |
commit_repo = pydriller.Repository(repository_model.directory_path, single=commit_hash) |
67 |
66 |
context = standard_context() |
68 |
67 |
#file_html_code = dict() |
69 |
68 |
context["modified_files"] = list() |
70 |
69 |
# NOTE: Although this looks like a for loop, it's not: It's a generator that |
71 |
70 |
# will only produce a single commit. But since it's a generator, I can't |
72 |
71 |
# extract the first element with indexing. So this will have to do. |
73 |
72 |
for c in commit_repo.traverse_commits(): |
74 |
73 |
context["commit"] = c |
75 |
74 |
# Splitting up the message file correctly |
76 |
75 |
# case: Only summary line, no \n: |
77 |
76 |
if '\n' not in c.msg: |
78 |
77 |
context["first_line"] = c.msg |
79 |
78 |
# case: Summary line split by two \n: |
80 |
79 |
elif '\n' not in c.msg.split('\n\n', maxsplit=1)[0]: |
81 |
80 |
parts = c.msg.split('\n\n', maxsplit=1) |
82 |
81 |
context["first_line"] = parts[0] |
83 |
82 |
context["other_lines"] = parts[1] |
84 |
83 |
# case: Badly formatted message |
85 |
84 |
else: |
86 |
85 |
parts = c.msg.split('\n', maxsplit=1) |
87 |
86 |
context["first_line"] = parts[0] |
88 |
87 |
context["other_lines"] = parts[1] |
89 |
88 |
# Final formatting: |
90 |
89 |
if "other_lines" in context: |
91 |
90 |
context["other_lines"] = context["other_lines"].replace('\n\n','<br>').replace('\n', ' ') |
92 |
91 |
# Processing the modified files |
93 |
92 |
for modified_file in c.modified_files: |
94 |
93 |
#print("FILE") |
95 |
94 |
processed = CommitInfo.prepare_and_process(modified_file) |
96 |
95 |
#print(processed) |
97 |
96 |
context["modified_files"].append(processed) |
98 |
97 |
#html_code_before = None |
99 |
98 |
#html_code_after = None |
100 |
99 |
#if modified_file.source_code_before is not None: |
101 |
100 |
#html_code_before = code_to_HTML( |
102 |
101 |
#modified_file.source_code_before, |
103 |
102 |
#modified_file.filename) |
104 |
103 |
#if modified_file.source_code is not None: |
105 |
104 |
#html_code_after = code_to_HTML( |
106 |
105 |
#modified_file.source_code, |
107 |
106 |
#modified_file.filename) |
108 |
107 |
# XXX: This function WILL OVERWRITE the presented code of a file if |
109 |
108 |
# this particular commit includes multiple files with the same name, |
110 |
109 |
# but a different path. I'll update this in the future... |
111 |
110 |
#file_html_code[modified_file.filename] = (html_code_before, html_code) |
112 |
111 |
#context["file_html_code"] = file_html_code |
113 |
112 |
|
114 |
113 |
#context["subdirectories"] = subdirectories |
115 |
114 |
#context["commits"] = commits |
116 |
115 |
#context["branch"] = branch |
117 |
116 |
context["repository_name"] = repository_name |
118 |
117 |
# Adding the html code for the files |
119 |
118 |
#context["file_html_code"] |
120 |
119 |
#context["repository_description"] = repository.description |
121 |
120 |
#html_code = code_to_HTML(raw_file_data, file.name) |
122 |
121 |
|
123 |
122 |
return render(request, template, context) |
124 |
123 |
|
125 |
124 |
def file_commit(request): |
126 |
125 |
pass |
127 |
126 |
|
128 |
127 |
# From here, the actual views start. |
129 |
128 |
def index(request): |
130 |
129 |
""" The start page of Gitar. |
131 |
130 |
|
132 |
131 |
The goal of this view, is to collect all the available repositories, |
133 |
132 |
including some additional information, such as programming language, |
134 |
133 |
license, description, ... in order to give a fast overview of the most |
135 |
134 |
prominent information. |
136 |
135 |
""" |
137 |
136 |
|
138 |
137 |
# Collecting the available repositories: |
139 |
138 |
# Template: |
140 |
139 |
template = "gitar/index.djhtml" |
141 |
140 |
# Requesting the repositories: |
142 |
141 |
modelRepos = Repository.objects.all() |
143 |
142 |
# From here, we start collecting info about all the repositories: |
144 |
143 |
class BlankRepository: pass # Blank object in which all data will be collected. |
145 |
144 |
repositories = [] |
146 |
145 |
for modelRepo in modelRepos: |
147 |
146 |
repository = BlankRepository() |
148 |
147 |
# TODO: Find a way to add all of modelRepo's fields without having to |
149 |
148 |
# hardcode them. This is prone to errors and is redundant. |
150 |
149 |
repository.name = str(modelRepo) |
151 |
150 |
repository.programmingLanguage = modelRepo.programmingLanguage |
152 |
151 |
repository.license = modelRepo.license |
153 |
152 |
repository.description = RepoInfo.get_description(modelRepo) |
154 |
153 |
|
155 |
154 |
#gitRepo = Repo.init(modelRepo.directory(), bare=True) # Connects to the Git Repo. |
156 |
155 |
# See tests.py, which assures all repositories exist. Tests are handy. |
157 |
156 |
#repository.description = gitRepo.description |
158 |
157 |
# This is mostly personal taste, but I like to show the amount of files. |
159 |
158 |
#repoTree = gitRepo.heads.master.commit.tree |
160 |
159 |
#repository.fileCount = len(repoTree.blobs) # blobs are files. |
161 |
160 |
repositories.append(repository) |
162 |
161 |
# After that, I extend the standard context with the repositories: |
163 |
162 |
context = standard_context() |
164 |
163 |
context['repositories'] = repositories |
165 |
164 |
# And finally, sending everything back. |
166 |
165 |
return render(request, template, context) |
167 |
166 |
|
168 |
167 |
def repositories(request, repository_name, branch="master"): |
169 |
168 |
# A repo's root is a directory by default, so this will automatically return |
170 |
169 |
# a directory view. But still, this is a bit nicer. |
171 |
170 |
return path_explorer(request, repository_name, branch, "") |
172 |
171 |
|
173 |
172 |
def path_explorer(request, repository_name, branch, path=""): |
174 |
173 |
""" Checks whether the given path is a file or a directory, and calls the |
175 |
174 |
appropriate view function accordingly. |
176 |
175 |
""" |
177 |
176 |
repository = RepoInfo.get_repository_object(repository_name) |
178 |
177 |
# From the GitPython documentation: |
179 |
178 |
# You can obtain the tree object of a repository, which is the directory of |
180 |
179 |
# that repo. This tree can be accessed as if it were a native Python list, |
181 |
180 |
# where the elements are the subdirectories and files. So, the idea to |
182 |
181 |
# determine whether a file, or a directory was requested, is simple: |
183 |
182 |
# 1. Split the path with "/" as seperator. |
184 |
183 |
# 2. Replace the current tree variable with the one retrieved from the |
185 |
184 |
# subtree element |
186 |
185 |
# 3. Repeat 2. until all parts of the given path are exhausted. |
187 |
186 |
# If we now still have a tree, we're looking at a directory, so display the |
188 |
187 |
# files (and subdirectories) of this directory. |
189 |
188 |
# Else, if we hit a blob, display the file contents. |
190 |
189 |
path_parts = path.split(sep="/") |
191 |
190 |
# FIXME: This is a bug at the URL regex part that I haven't been able to fix |
192 |
191 |
# yet. This serves as a temporary fix: |
193 |
192 |
# If the last part of the path is an empty string (which happens when the |
194 |
193 |
# last symbol was a '/'), remove that part from the list. |
195 |
194 |
# Of course, this is bad monkeypatching, but I suck at regex, so as long as |
196 |
195 |
# I don't find the solution, this'll have to do. |
197 |
196 |
|
198 |
197 |
|
199 |
198 |
#print(path_parts) |
200 |
199 |
|
201 |
200 |
if path_parts[len(path_parts)-1] == "": |
202 |
201 |
path_parts.pop() |
203 |
202 |
|
204 |
203 |
if len(path_parts) == 0: |
205 |
204 |
directory = repository.heads[branch].commit.tree |
206 |
205 |
return directory_view(request, repository_name, branch, path, directory) |
207 |
206 |
|
208 |
207 |
assert len(path_parts) != 0 |
209 |
208 |
|
210 |
209 |
# FIXME: If the user gives a "<something>/../<somethingElse>", that should |
211 |
210 |
# become "<something>". Obviously, although I think that's done by default |
212 |
211 |
# already. |
213 |
212 |
directory = repository.heads[branch].commit.tree |
214 |
213 |
for i in range(len(path_parts)): |
215 |
214 |
subdirectories = directory.trees |
216 |
215 |
#if len(subdirectories) == 0: |
217 |
216 |
# This can't happen, as this would imply there is a directory inside |
218 |
217 |
# a file. |
219 |
218 |
# assert False |
220 |
219 |
#else: |
221 |
220 |
for subdirectory in subdirectories: |
222 |
221 |
if subdirectory.name == path_parts[i]: |
223 |
222 |
directory = subdirectory |
224 |
223 |
#break # Useless optimization |
225 |
224 |
# When there are no more directories to traverse, check if the last part of |
226 |
225 |
# the path is either a file, or a directory: |
227 |
226 |
blobs = directory.blobs |
228 |
227 |
#print(path_parts) |
229 |
228 |
last_part = path_parts[len(path_parts)-1] |
230 |
229 |
for blob in directory.blobs: |
231 |
230 |
#print(blob.name) |
232 |
231 |
if blob.name == last_part: |
233 |
232 |
file_blob = blob |
234 |
233 |
#print("Returning file view") |
235 |
234 |
return file_view(request, repository_name, branch, path, file_blob) |
236 |
235 |
else: |
237 |
236 |
pass |
238 |
237 |
#print("blob name: " + blob.name) |
239 |
238 |
#print("last part: " + last_part) |
240 |
239 |
return directory_view(request, repository_name, branch, path, directory) |
241 |
240 |
|
242 |
241 |
def directory_view(request, repository_name, branch, path, directory): |
243 |
242 |
""" Collects the given directories's files and subdirectories, and renders a |
244 |
243 |
template to display this data. |
245 |
244 |
""" |
246 |
245 |
|
247 |
246 |
# Collecting files in this directory |
248 |
247 |
repository = RepoInfo.get_repository_object(repository_name) |
249 |
248 |
files = [] |
250 |
249 |
for file in directory.blobs: |
251 |
250 |
latest_commit_object = FileInfo.last_commit(repository_name, branch, file.path) |
252 |
251 |
older_than_one_month = (datetime.datetime.now(datetime.timezone.utc) - latest_commit_object.committer_date).days > 30 |
253 |
252 |
print(latest_commit_object) |
254 |
- | files.append({ |
+ |
253 |
files.append({ |
255 |
254 |
"name":file.name, |
256 |
255 |
"path":file.path, |
257 |
256 |
#"commit":"",#FileInfo.last_commit(repository, file).hexsha[:20], |
258 |
257 |
"commit": latest_commit_object, |
259 |
258 |
"older_than_one_month": older_than_one_month, |
260 |
259 |
}) |
261 |
260 |
#print(FileInfo.last_commit(repository_name, branch, file)) |
262 |
261 |
# Collecting commits for this branch |
263 |
262 |
commits = [] |
264 |
263 |
for commit in repository.iter_commits(branch): |
265 |
264 |
commits.append({ |
266 |
265 |
"hash":commit.hexsha[:20], |
267 |
266 |
"author":commit.author, |
268 |
267 |
"description":commit.summary, |
269 |
268 |
}) |
+ |
269 |
}) |
270 |
270 |
# Collecting subdirectories |
271 |
271 |
subdirectories = [] |
272 |
272 |
for subdirectory in directory.trees: |
273 |
273 |
subdirectories.append({ |
274 |
274 |
"path":subdirectory.path, |
275 |
275 |
"name":subdirectory.name, |
276 |
276 |
}) |
277 |
277 |
# Collecting rendering information: |
278 |
278 |
template = "gitar/directory.djhtml" |
279 |
279 |
context = standard_context() |
280 |
280 |
context["files"] = files |
281 |
281 |
context["subdirectories"] = subdirectories |
282 |
282 |
context["commits"] = commits |
283 |
283 |
context["branch"] = branch |
284 |
284 |
context["repository_name"] = repository_name |
285 |
285 |
context["repository_description"] = repository.description |
286 |
286 |
# Collection repo information |
287 |
287 |
for repo in Repository.objects.all(): |
288 |
288 |
if str(repo) == repository_name: |
289 |
289 |
context["repository_language"] = repo.programmingLanguage |
290 |
290 |
context["repository_license"] = repo.license |
291 |
291 |
break |
292 |
292 |
branches = [] |
293 |
293 |
for bbranch in repository.heads: |
294 |
294 |
branches.append(bbranch.name) |
295 |
295 |
context["branches"] = branches |
296 |
296 |
return render(request, template, context) |
297 |
297 |
|
298 |
298 |
|
299 |
299 |
def file_view(request, repository_name, branch, path, file): |
300 |
300 |
""" Collects the file contents of the given file path, and returns it to the |
301 |
301 |
template, with the file contents already formatted in HTML using Pygments. |
302 |
302 |
""" |
303 |
303 |
|
304 |
304 |
# Turning the file's contents in HTML ready output: |
305 |
305 |
raw_file_data = file.data_stream.read() |
306 |
306 |
html_code = code_to_HTML(raw_file_data, file.name) |
307 |
307 |
# Collecting rendering information: |
308 |
308 |
template = "gitar/file.djhtml" |
309 |
309 |
context = standard_context() |
310 |
310 |
context["content"] = html_code |
311 |
311 |
context["file_name"] = file.name |
312 |
312 |
context["repository_name"] = repository_name |
313 |
313 |
return render(request, template, context) |
314 |
314 |
|
315 |
315 |