From fb850c787ccbc8d190fa2c70300ba94e9ec77e50 Mon Sep 17 00:00:00 2001
From: Roland Geider u&B{d|~hMfqUuT*3s1)*E<2ZyVuHbGVETUKIq=gcU|Y^joaM-
zr+L=h$5VFQQ#)s$?(UrJo_)sc?Cd`E%#%B3cXpWAz15UQ&Ae9+_HK2r-RSP`xhpqz
zuU&oeQ#Y<3bPj13bZ-}NR+4w}V%J@I@$k@H-@A6;&K+FayL$Ni-v0irgQKJKObsPu
z_qLB`yY6uB`sEiT^0~vq=hH-umem|Yy>|85!RmZxdpn(rR9gUG_xAA|xhsFS+McI)
z_Q%yvD8Qg+U%Y*(`^;*d#KO?sgAC$MEbY2yppdlMXh@{pOK_QT*JX3NET4Vq<1ku1
zd3Gank3Z|qZqhn?!9!v2y=5D*3Vp;WsCmIBczFhKggFf+>cwU5lAoj=0@?RdvK0VG
zMcwuhnM4uGdItmtStsrbo|!?qXKn!(Vn)A+>H2|M>d%GcWBECsJ2v#vJ{5nyC@9_$&CrErF&G@Rf-
zN`E1rbHKiJ@rd(#KI0$kz>h2Ung>HqwGNk1#0#cX0yZ2OC`IyRr|AEqXDDU0ov80-
z{gw?qx@+hJ0JLzV;!oCe8&uvdbL24zd@#9JQyXBX=;XIlmSW42@~X
sudo)."
-msgstr ""
-"Ich persönlich mag es, meine Entwicklungssachen in einer virtuellen Umgebung "
-"zu installieren, das hält den Rechner etwas aufgeräumter und kann sehr "
-"leicht aufgesetzt werden. Diesen Schritt kann man überspringen, wenn man die "
-"Abhängigkeiten Systemweit installieren will (in diesem Fall z.B. mit "
-"sudo vorgehen)."
-
-#: templates/code.html:70
-msgid ""
-"Get the application itself by either downloading a package or\n"
-"cloning the repository and updating to a tag or revision."
-msgstr ""
-"Hole dir die Anwendung entweder von eins der Pakete oder indem du das "
-"Repository klonst und zu einer Revision oder einem Tag aktualisiert."
-
-#: templates/code.html:80
-msgid "Initialise and start the application."
-msgstr "Initialisiere und starte die Anwendung."
-
-#: templates/code.html:87
-msgid ""
-"The main.py file will, on first run, create a configuration\n"
-"file. For this it will ask you for your reCaptcha\n"
-"keys. You can leave this blank or enter bogus data, but you won't be "
-"able\n"
-"to register new users or use the demo account. For the sitemap.xml file to "
-"be\n"
-"correctly generated, you need to set a correct domain name in the sites app. "
-"This\n"
-"is done via django's admin interface. A sqlite database will also be "
-"created\n"
-"with a standard superuser:"
-msgstr ""
-"Die main.py-Datei wird im ersten Lauf eine Konfigurationsdatei erstellen. "
-"Dafür wird sie nach den reCaptcha Schlüssel fragen. Du kannst diese Werte leer lassen oder "
-"sonstwas eingebe aber dann wird es nicht möglich sein neue Benutzer zu "
-"registrieren oder den Demozugang zu benutzen. Damit die sitemap.xml-Datei "
-"richtig generiert wird muss der richtige Domainname in der sites App gesetzt "
-"werden, das geht über das Admininterface von Django. Eine SQlite-Datenbank "
-"wird dann erzeugt mit einem Superuser:"
-
-#: templates/code.html:96
-msgid ""
-"settings_global.py die globale "
-"Einstellungen setzt. Richte eine Datenbank ein die von Django unterstützt wird"
-"a>, initialisiere die Tabellen und erstelle einen Superuser."
-
-#: templates/code.html:125
-msgid ""
-"Now you are ready to go, the application is installed and\n"
-"can be used. However, an application like this without data is not "
-"interesting,\n"
-"so you should load some initial data to populate the categories,\n"
-"etc."
-msgstr ""
-"Jetzt bist du schon fast fertig, die Anwendung ist installiert und kann "
-"benutzt werden. Allerdings ist so eine Anwendung ohne Daten nicht sehr "
-"interessant. Lade also die initalen Daten für Kategorien, etc."
-
-#: templates/code.html:130
-msgid ""
-"For this, load these fixtures, in this order,\n"
-"as some dependend on each other (specially the languages). The ingrediens "
-"fixture\n"
-"can take some time to process, it contains more than 8000 entries."
-msgstr ""
-"Dafür, lade die Daten, in dieser Reihenfolge,\n"
-"da manche aufeinander aufbauen (besonders die Sprachen). Die Zutatendatei "
-"wird länger brauchen, da sie mehr als 8000 Einträge hat."
-
-#: templates/code.html:144
-msgid "Now, run the server:"
-msgstr "Starte den Server:"
-
-#: templates/code.html:150
-msgid "You can now access the site with your browser:"
-msgstr "Nun kannst due mit einem Browser auf die Seite zugreifen:"
-
-#: templates/code.html:153
-msgid ""
-"If you want to run this in production, don't use django's builtin\n"
-"server, use apache, gunicorn or some other real server. Refer to\n"
-"the "
-"deployment section\n"
-"on django's documentation for details here. You will also have to take "
-"special\n"
-"care of the static files."
-msgstr ""
-"Wenn du die Anwendung im Produktivbetrieb fahren willst, benutze nicht den "
-"Entwicklungsserver von Django, sondern Apache, gunicorn oder einen anderen "
-"echten Server. Für mehr Infos hierzu schaue dir bitte die "
-"Django "
-"Dokumentation zum Thema an. Du wirst dann auch auf die static files "
-"achten müssen."
-
-
-
-#: templates/functions.html:7
-msgid "Features"
-msgstr "Funktionen"
-
-#: templates/functions.html:10
-msgid "What is this?"
-msgstr ""
-
-#: templates/functions.html:12
-msgid ""
-"Workout Manager is a free, open source web application that manages\n"
-"your exercises and workouts. It started as a pet project of mine to replace "
-"my\n"
-"growing collection of different spreadsheets, but it has become something "
-"other\n"
-"people could also find useful. So, answering the question, it's"
-msgstr ""
-
-#: templates/functions.html:22
-msgid ""
-"You probably guessed, this is a workout manager:\n"
-" you can create and manage your workout routines. You select how\n"
-" many days your workout constists of, and add different exercises "
-"to each."
-msgstr ""
-
-#: templates/functions.html:31
-msgid "a body weight tracker"
-msgstr ""
-
-#: templates/functions.html:32
-msgid ""
-"This simple part lets\n"
-" you input your weight for a date. From this it generates a "
-"rather nice looking\n"
-" chart, so you can see if you are reaching your goals (be it "
-"gaining mass or\n"
-" losing it)."
-msgstr ""
-
-#: templates/functions.html:44
-msgid "a nutrition manager"
-msgstr ""
-
-#: templates/functions.html:45
-msgid ""
-"Here you can create a diet\n"
-" plan and see some nutritional values (total energy, protein, "
-"carbohydrates, and\n"
-" so on) about it. Select from more than 8000 ingredients for this."
-msgstr ""
-
-#: templates/functions.html:53
-msgid "More details please"
-msgstr ""
-
-#: templates/functions.html:57
-msgid ""
-"It is pretty flexible so if you do supersets, no need\n"
-"to worry, it is supported and you will know which exercises belong\n"
-"together. Each set can have a different number of repetitions you want\n"
-"to reach and which you enter yourself. This means that other training\n"
-"forms like pyramid training or similar are not a problem."
-msgstr ""
-
-#: templates/functions.html:66
-msgid ""
-"It can also generate a PDF with your current routine.\n"
-"This is suitable for printing so you can bring it to the gym and keep a log\n"
-"about your progress. In case you wonder how it looks like,\n"
-"here's a sample."
-msgstr ""
-
-#: templates/functions.html:71
-msgid ""
-"Note: it has no 'preset' workouts that you\n"
-"can simply use (e.g. beginner, etc.). It will happily make the routine you "
-"tell\n"
-"it to do, but you have to decide which exercises and how many repetitions "
-"you'll\n"
-"do."
-msgstr ""
-
-#: templates/functions.html:77
-msgid "Exercise log"
-msgstr ""
-
-#: templates/functions.html:79
-msgid ""
-"You can enter the weights and repetitions you did for each\n"
-"exercise. As with the (body) weight, it will generate some diagrams so\n"
-"so you can see at a glance how well you are doing. The raw numbers are still "
-"there\n"
-"in a table, don't worry."
-msgstr ""
-
-#: templates/functions.html:88
-msgid "Muscle and exercise database"
-msgstr ""
-
-#: templates/functions.html:89
-msgid ""
-"The exercise database contains around hundred exercises\n"
-"from which you can choose when creating a workout. Some have important "
-"notes\n"
-"about the form to perform them. This is displayed in the workout overview\n"
-"page, so you keep them in mind."
-msgstr ""
-
-#: templates/functions.html:98
-msgid "The weight tracker"
-msgstr ""
-
-#: templates/functions.html:99
-msgid ""
-"This is a rather simple part that basically lets\n"
-"you input your weight and a day. From this it generates a rather nice "
-"looking\n"
-"chart, so you can see if you are reaching your goals (be it gaining mass or\n"
-"losing it)."
-msgstr ""
-
-#: templates/functions.html:104
-msgid ""
-"\n"
-"In case you want to jump ship after inputing your data from the last years, "
-"simply\n"
-"export the data as CSV."
-msgstr ""
-
-#: templates/functions.html:112
-msgid "The nutrition schedule manager"
-msgstr ""
-
-#: templates/functions.html:113
-msgid ""
-"And finally it is a nutrition schedule manager. Here you can\n"
-"create a diet plan and see some nutritional values (total energy, protein,\n"
-"carbohydrates, and so on) about it. For the ingredients, it uses the very "
-"complete\n"
-"list provided by the US Department of Agriculture, with around 8000\n"
-"entries."
-msgstr ""
-
-#: templates/functions.html:121
-msgid ""
-"It can also be downloaded as a PDF so you can keep it on your\n"
-"fridge, so you don't forget to follow the plan... And as with the workout\n"
-"log, here's a sample"
-"a>."
-msgstr ""
-
-#: templates/functions.html:125
-msgid ""
-"Note: this is not a log keeper. It does not\n"
-"keep track of what you actually ate during the day and how it compares to\n"
-"what the plan says. It simply shows you the nutritional values of the plan\n"
-"you create."
-msgstr ""
-
-#: templates/functions.html:132
-msgid "Interested?"
-msgstr "Interessiert?"
-
-#: templates/functions.html:138 templates/functions.html.py:139
-msgid "Try the demo"
-msgstr "Demo ausprobieren"
-
-#: templates/issues.html:5 templates/issues.html.py:8
-msgid "Reporting a problem"
-msgstr "Problem berichten"
-
-#: templates/issues.html:10
-msgid ""
-"\n"
-"No software is perfect. For some severe errors, an email will be "
-"automatically sent, but\n"
-"not always, so I depend on you reporting everything that didn't behave as "
-"expected.\n"
-"Please describe in as much detail as you can what you were doing when the "
-"error\n"
-"happened.\n"
-msgstr ""
-"\n"
-"Keine Software ist perfekt. Bei manchen schweren Fehlern bekomme ich "
-"automatisch eine Email, aber nicht immer. Ich brauche also Fehlermeldungen, "
-"um über die Fehle zu erfahren und reagieren zu können. Bitte hier im Detail "
-"beschreiben, wie es zum Fehler kam.\n"
-
-#: templates/issues.html:18
-msgid ""
-"If you found a problem, please\n"
-"report "
-"it\n"
-"to the issue tracker in bitbucket.\n"
-msgstr ""
-"Bei Probleme oder Bugs im Bitbucket Tracker melden.\n"
-
-#: templates/issues.html:24
-msgid "Enhancements"
-msgstr "Verbesserungen"
-
-#: templates/issues.html:26
-msgid ""
-"\n"
-"The issue tracker can also be used to document enhancements to the software, "
-"so\n"
-"if you have some suggestions, feel free to open a ticket, just set "
-"'kind'\n"
-"to 'enhancement'.\n"
-msgstr ""
-"\n"
-"Der Issuetracker kann auch dafür benutzt werden, um Verbesserungen der "
-"Software zu melden. Wer hier Vorschläge hat, sollte im Formular kind"
-"em> auf enhancement gesetzt werden.\n"
-
-#: templates/license.html:7 templates/license.html.py:10
-msgid "License"
-msgstr "Lizenz"
-
-#: templates/license.html:13
-msgid ""
-"wger Workout Manager is Free/Libre Open Source\n"
-"Software (FLOSS)."
-msgstr ""
-"wger Workout Manager ist Freie Software (Free/Libre Open Source\n"
-"Software - FLOSS)."
-
-#: templates/license.html:20 templates/license.html.py:21
-msgid "Released under the Affero GPL"
-msgstr ""
-
-#: templates/license.html:23
-msgid ""
-"wger Workout Manager is released under the Affero GNU\n"
-"General Public License (AGPL) Version 3+ and can (under the "
-"conditions\n"
-"of the license) be used, modified and distributed (also with modifications)\n"
-"without restrictions."
-msgstr ""
-"wger Workout Manager steht unter der Affero GNU\n"
-"General Public License (AGPL) Version 3+ und darf ohne "
-"Restriktionen (unter dn Bedingungen der Lizenz) benutzt, verändert und "
-"(geändert) weitergegeben werden."
-
-#: templates/license.html:31 templates/license.html.py:32
-msgid "CC-BY-SA"
-msgstr ""
-
-#: templates/license.html:34
-msgid ""
-"The data fixtures with the exercise and ingredient lists are\n"
-"released additionally under a Creative Commons Attribution Share "
-"Alike 3\n"
-"(CC-BY-SA) license."
-msgstr ""
-"Die Übungs- und Zutatendaten stehen zustätlich unter einer Creative "
-"Commons Namensnennung, Weitergabe unter gleichen Bedingungen 3 (CC-BY-SA)"
-"strong> Lizenz."
-
-#: templates/license.html:39
-msgid ""
-"A copy of both licenses is contained in every wger Workout\n"
-"Manager release and can be read in the\n"
-"AGPL.txt\n"
-"or CC-BY-SA.txt\n"
-"files in the source code repository."
-msgstr ""
-"Eine Kopie beider Lizenzen liegt jedem wger Workout Manager bei und ist auch "
-"in den AGPL.txt\n"
-"oder CC-BY-SA.txt Dateien im Quellcoderepository nachzulesen."
diff --git a/exercises/__init__.py b/wger/exercises/__init__.py
similarity index 100%
rename from exercises/__init__.py
rename to wger/exercises/__init__.py
diff --git a/exercises/admin.py b/wger/exercises/admin.py
similarity index 81%
rename from exercises/admin.py
rename to wger/exercises/admin.py
index 6e582e2c6..9283d63c7 100644
--- a/exercises/admin.py
+++ b/wger/exercises/admin.py
@@ -12,14 +12,14 @@
#
# You should have received a copy of the GNU Affero General Public License
-from exercises.models import Language
-from exercises.models import Exercise
-from exercises.models import ExerciseComment
-from exercises.models import ExerciseCategory
-from exercises.models import Muscle
-
from django.contrib import admin
+from wger.exercises.models import Language
+from wger.exercises.models import Exercise
+from wger.exercises.models import ExerciseComment
+from wger.exercises.models import ExerciseCategory
+from wger.exercises.models import Muscle
+
class ExerciseCommentInline(admin.TabularInline): # admin.StackedInline
model = ExerciseComment
diff --git a/exercises/fixtures/categories.json b/wger/exercises/fixtures/categories.json
similarity index 100%
rename from exercises/fixtures/categories.json
rename to wger/exercises/fixtures/categories.json
diff --git a/exercises/fixtures/exercises.json b/wger/exercises/fixtures/exercises.json
similarity index 100%
rename from exercises/fixtures/exercises.json
rename to wger/exercises/fixtures/exercises.json
diff --git a/exercises/fixtures/languages.json b/wger/exercises/fixtures/languages.json
similarity index 100%
rename from exercises/fixtures/languages.json
rename to wger/exercises/fixtures/languages.json
diff --git a/exercises/fixtures/muscles.json b/wger/exercises/fixtures/muscles.json
similarity index 100%
rename from exercises/fixtures/muscles.json
rename to wger/exercises/fixtures/muscles.json
diff --git a/exercises/fixtures/test-exercises.json b/wger/exercises/fixtures/test-exercises.json
similarity index 100%
rename from exercises/fixtures/test-exercises.json
rename to wger/exercises/fixtures/test-exercises.json
diff --git a/exercises/locale/de/LC_MESSAGES/django.mo b/wger/exercises/locale/de/LC_MESSAGES/django.mo
similarity index 100%
rename from exercises/locale/de/LC_MESSAGES/django.mo
rename to wger/exercises/locale/de/LC_MESSAGES/django.mo
diff --git a/exercises/locale/de/LC_MESSAGES/django.po b/wger/exercises/locale/de/LC_MESSAGES/django.po
similarity index 100%
rename from exercises/locale/de/LC_MESSAGES/django.po
rename to wger/exercises/locale/de/LC_MESSAGES/django.po
diff --git a/exercises/models.py b/wger/exercises/models.py
similarity index 98%
rename from exercises/models.py
rename to wger/exercises/models.py
index c02fc4b1d..49f9cff37 100644
--- a/exercises/models.py
+++ b/wger/exercises/models.py
@@ -115,7 +115,7 @@ class Exercise(models.Model):
"""
Returns the canonical URL to view an exercise
"""
- return reverse('exercises.views.exercise_view', kwargs={'id': self.id,
+ return reverse('wger.exercises.views.exercise_view', kwargs={'id': self.id,
'slug': slugify(self.name)})
def __unicode__(self):
diff --git a/exercises/sitemap.py b/wger/exercises/sitemap.py
similarity index 90%
rename from exercises/sitemap.py
rename to wger/exercises/sitemap.py
index 6cd8038b7..48a681b02 100644
--- a/exercises/sitemap.py
+++ b/wger/exercises/sitemap.py
@@ -15,8 +15,8 @@
# You should have received a copy of the GNU Affero General Public License
from django.contrib.sitemaps import Sitemap
-from exercises.models import Exercise
-from manager.utils import load_language
+from wger.exercises.models import Exercise
+from wger.manager.utils import load_language
class ExercisesSitemap(Sitemap):
diff --git a/exercises/templates/exercise_search.html b/wger/exercises/templates/exercise_search.html
similarity index 100%
rename from exercises/templates/exercise_search.html
rename to wger/exercises/templates/exercise_search.html
diff --git a/exercises/templates/muscle_overview.html b/wger/exercises/templates/muscle_overview.html
similarity index 100%
rename from exercises/templates/muscle_overview.html
rename to wger/exercises/templates/muscle_overview.html
diff --git a/exercises/templates/overview.html b/wger/exercises/templates/overview.html
similarity index 100%
rename from exercises/templates/overview.html
rename to wger/exercises/templates/overview.html
diff --git a/exercises/templates/view.html b/wger/exercises/templates/view.html
similarity index 100%
rename from exercises/templates/view.html
rename to wger/exercises/templates/view.html
diff --git a/exercises/tests/__init__.py b/wger/exercises/tests/__init__.py
similarity index 100%
rename from exercises/tests/__init__.py
rename to wger/exercises/tests/__init__.py
diff --git a/exercises/tests/categories.py b/wger/exercises/tests/categories.py
similarity index 100%
rename from exercises/tests/categories.py
rename to wger/exercises/tests/categories.py
diff --git a/exercises/tests/exercise.py b/wger/exercises/tests/exercise.py
similarity index 100%
rename from exercises/tests/exercise.py
rename to wger/exercises/tests/exercise.py
diff --git a/exercises/urls.py b/wger/exercises/urls.py
similarity index 77%
rename from exercises/urls.py
rename to wger/exercises/urls.py
index 7b2fc34df..0695095ec 100644
--- a/exercises/urls.py
+++ b/wger/exercises/urls.py
@@ -1,20 +1,20 @@
from django.conf.urls import patterns, url
from django.contrib.auth.decorators import permission_required
-from exercises.views import ExerciseUpdateView
-from exercises.views import ExerciseAddView
-from exercises.views import ExerciseDeleteView
+from wger.exercises.views import ExerciseUpdateView
+from wger.exercises.views import ExerciseAddView
+from wger.exercises.views import ExerciseDeleteView
-from exercises.views import ExerciseCategoryAddView
-from exercises.views import ExerciseCategoryUpdateView
-from exercises.views import ExerciseCategoryDeleteView
+from wger.exercises.views import ExerciseCategoryAddView
+from wger.exercises.views import ExerciseCategoryUpdateView
+from wger.exercises.views import ExerciseCategoryDeleteView
-from exercises.views import ExerciseCommentAddView
-from exercises.views import ExerciseCommentEditView
+from wger.exercises.views import ExerciseCommentAddView
+from wger.exercises.views import ExerciseCommentEditView
-from exercises.views import MuscleListView
+from wger.exercises.views import MuscleListView
-urlpatterns = patterns('exercises.views',
+urlpatterns = patterns('wger.exercises.views',
# Exercises
url(r'^overview/$', 'exercise_overview'),
diff --git a/exercises/views.py b/wger/exercises/views.py
similarity index 96%
rename from exercises/views.py
rename to wger/exercises/views.py
index 26aca69ac..622ae28ba 100644
--- a/exercises/views.py
+++ b/wger/exercises/views.py
@@ -35,17 +35,17 @@ from django.views.generic import DeleteView
from django.views.generic import CreateView
from django.views.generic import UpdateView
-from manager.utils import load_language
+from wger.manager.utils import load_language
-from manager.models import WorkoutLog
+from wger.manager.models import WorkoutLog
-from exercises.models import Exercise
-from exercises.models import ExerciseComment
-from exercises.models import ExerciseCategory
-from exercises.models import Muscle
+from wger.exercises.models import Exercise
+from wger.exercises.models import ExerciseComment
+from wger.exercises.models import ExerciseCategory
+from wger.exercises.models import Muscle
-from workout_manager.generic_views import YamlFormMixin
-from workout_manager.generic_views import YamlDeleteMixin
+from wger.workout_manager.generic_views import YamlFormMixin
+from wger.workout_manager.generic_views import YamlDeleteMixin
logger = logging.getLogger('workout_manager.custom')
diff --git a/wger/locale/de/LC_MESSAGES/django.mo b/wger/locale/de/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000000000000000000000000000000000..50c09c6100a1ef952603fdca0903cd587604d668
GIT binary patch
literal 35924
zcmcJY37lnDUFR=bfX5yJgs|N-BwbCaUS$J9r_-J4balE-Z*+C1Nm%czck9(ly`}Q*
zdtF@xBFHMZjL0&g4xmv)98lDZVo;fqh@iqCg5t=4E209*2=2`H_y3=B-+k2`z!|4L
zIsLoqx##@Pe?RBEeCGW7zA@o%+r5(H@!<3WljM~g?>b*sljPWiN%9QvS>OY>{$1d&
za{l_qCP@JvzX;^|-Qe|{@1&9|!54uya{b-lQO>{mgd}Nz`=6L3j|ATd-Uoa?cmenU
z@S)%*L8?mr416${JjwAPpq{%3RC{JYJ>LQ!4xR=d2EIC+zZul~KMATUzYxwp6z=~X
z_z155dBA@N*K4VN|8XE)O`Z-u2s{d^{^tZ-0grJ0BJj!Jhe4`Hz6h#4553s&N#G5f
zUk*MU9D?@+-vz3^p8?MUe+_&H_#5B@z~2k^KLau($rr(k?v*6}0A9uUBl+mF!5cx*
z`)%O;!QTZ%zdr;IgI@*J&wWqvdT$0FMm;Y84}kqkoKC-Zskirop!)quQ0@5=sPF$P
zsCM6fyVK*r;C(p15L7=N51t23gEjD~aD6wZ@jeo;0jfQxLDBU!;G@7dfcoxFfqH%u
z)cAf1)Hwb*sOP@|s{XHodagE=B#!}~2&x@V2i4B~;QhgyK=oq*)ORvai^?SA*)`
zkAV8#J3!TYXE^^bD7p9pQ0@3CsPVne4)5;;psqhIoKJxd;CvQTJ=cW$hrkDNehaAf
zEP|rn?Vz3?fui3_K(*tQ;77nWfa>oHpX%RT0rkBXgZBf!3tR)gFI>O>Wl8ckoL>Nn
z4)>l;l3xe!5AFwl3%r_ff8-3b=KMh2uYU#9dpl