diff --git a/alliance_auth/settings.py.example b/alliance_auth/settings.py.example index fd3b32b6..58257a5c 100644 --- a/alliance_auth/settings.py.example +++ b/alliance_auth/settings.py.example @@ -72,6 +72,17 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.middleware.locale.LocaleMiddleware', +) + +LOCALE_PATHS = ( + os.path.join(BASE_DIR, 'locale/'), +) + +ugettext = lambda s: s +LANGUAGES = ( + ('en', ugettext('English')), + ('de', ugettext('German')), ) ROOT_URLCONF = 'alliance_auth.urls' diff --git a/alliance_auth/urls.py b/alliance_auth/urls.py index 98f4d6ea..7c89f56b 100755 --- a/alliance_auth/urls.py +++ b/alliance_auth/urls.py @@ -1,97 +1,30 @@ from django.conf.urls import patterns, include, url +from django.conf.urls.i18n import i18n_patterns +from django.utils.translation import ugettext_lazy as _ from django.contrib import admin admin.autodiscover() +# Functional/Untranslated URL's urlpatterns = patterns('', + + # Locale + url(r'^i18n/', include('django.conf.urls.i18n')), # Admin urls url(r'^admin/', include(admin.site.urls)), # Index - url(r'^$', 'portal.views.index_view', name='auth_index'), - - # Authentication Urls - url(r'^login_user/', 'authentication.views.login_user', name='auth_login_user'), + url(_(r'^$'), 'portal.views.index_view', name='auth_index'), + + # Authentication url(r'^logout_user/', 'authentication.views.logout_user', name='auth_logout_user'), - url(r'^register_user/', 'registration.views.register_user_view', name='auth_register_user'), - url(r'^user/password/$', 'django.contrib.auth.views.password_change', name='password_change'), - url(r'^user/password/done/$', 'django.contrib.auth.views.password_change_done', - name='password_change_done'), - url(r'^user/password/reset/$', 'django.contrib.auth.views.password_reset', - name='password_reset'), - url(r'^user/password/password/reset/done/$', 'django.contrib.auth.views.password_reset_done', - name='password_reset_done'), - url(r'^user/password/reset/complete/$', 'django.contrib.auth.views.password_reset_complete', - name='password_reset_complete'), - url(r'^user/password/reset/confirm/(?P[0-9A-Za-z_\-]+)/(?P.+)/$', - 'django.contrib.auth.views.password_reset_confirm', name='password_reset_confirm'), - - # Portal Urls - url(r'^dashboard/$', 'portal.views.dashboard_view', name='auth_dashboard'), - url(r'^help/$', 'portal.views.help_view', name='auth_help'), - - # Eveonline Urls - url(r'^add_api_key/', 'eveonline.views.add_api_key', name='auth_add_api_key'), - url(r'^api_key_management/', 'eveonline.views.api_key_management_view', - name='auth_api_key_management'), - url(r'^refresh_api_pair/([0-9]+)/$', 'eveonline.views.user_refresh_api', name='auth_user_refresh_api'), - url(r'^delete_api_pair/(\w+)/$', 'eveonline.views.api_key_removal', name='auth_api_key_removal'), - url(r'^characters/', 'eveonline.views.characters_view', name='auth_characters'), + # Eve Online url(r'^main_character_change/(\w+)/$', 'eveonline.views.main_character_change', name='auth_main_character_change'), - # Group management - url(r'^groups/', 'groupmanagement.views.groups_view', name='auth_groups'), - url(r'^group/management/', 'groupmanagement.views.group_management', - name='auth_group_management'), - url(r'^group/request_add/(\w+)', 'groupmanagement.views.group_request_add', - name='auth_group_request_add'), - url(r'^group/request/accept/(\w+)', 'groupmanagement.views.group_accept_request', - name='auth_group_accept_request'), - url(r'^group/request/reject/(\w+)', 'groupmanagement.views.group_reject_request', - name='auth_group_reject_request'), - - url(r'^group/request_leave/(\w+)', 'groupmanagement.views.group_request_leave', - name='auth_group_request_leave'), - url(r'group/leave_request/accept/(\w+)', 'groupmanagement.views.group_leave_accept_request', - name='auth_group_leave_accept_request'), - url(r'^group/leave_request/reject/(\w+)', 'groupmanagement.views.group_leave_reject_request', - name='auth_group_leave_reject_request'), - - # HR Application Management - url(r'^hr_application_management/', 'hrapplications.views.hr_application_management_view', - name="auth_hrapplications_view"), - url(r'^hr_application_create/$', 'hrapplications.views.hr_application_create_view', - name="auth_hrapplication_create_view"), - url(r'^hr_application_create/(\d+)', 'hrapplications.views.hr_application_create_view', - name="auth_hrapplication_create_view"), - url(r'^hr_application_remove/(\w+)', 'hrapplications.views.hr_application_remove', - name="auth_hrapplication_remove"), - url(r'hr_application_view/(\w+)', 'hrapplications.views.hr_application_view', - name="auth_hrapplication_view"), - url(r'hr_application_personal_view/(\w+)', 'hrapplications.views.hr_application_personal_view', - name="auth_hrapplication_personal_view"), - url(r'hr_application_personal_removal/(\w+)', - 'hrapplications.views.hr_application_personal_removal', - name="auth_hrapplication_personal_removal"), - url(r'hr_application_approve/(\w+)', 'hrapplications.views.hr_application_approve', - name="auth_hrapplication_approve"), - url(r'hr_application_reject/(\w+)', 'hrapplications.views.hr_application_reject', - name="auth_hrapplication_reject"), - url(r'hr_application_search/', 'hrapplications.views.hr_application_search', - name="auth_hrapplication_search"), - url(r'hr_mark_in_progress/(\w+)', 'hrapplications.views.hr_application_mark_in_progress', - name="auth_hrapplication_mark_in_progress"), - - - # Service Urls - url(r'^services/$', 'services.views.services_view', name='auth_services'), - url(r'^services/jabber_broadcast/$', 'services.views.jabber_broadcast_view', - name='auth_jabber_broadcast_view'), - # Forum Service Control url(r'^activate_forum/$', 'services.views.activate_forum', name='auth_activate_forum'), url(r'^deactivate_forum/$', 'services.views.deactivate_forum', name='auth_deactivate_forum'), @@ -99,13 +32,11 @@ urlpatterns = patterns('', name='auth_reset_forum_password'), url(r'^set_forum_password/$', 'services.views.set_forum_password', name='auth_set_forum_password'), - # Jabber Service Control url(r'^activate_jabber/$', 'services.views.activate_jabber', name='auth_activate_jabber'), url(r'^deactivate_jabber/$', 'services.views.deactivate_jabber', name='auth_deactivate_jabber'), url(r'^reset_jabber_password/$', 'services.views.reset_jabber_password', name='auth_reset_jabber_password'), - url(r'^set_jabber_password/$', 'services.views.set_jabber_password', name='auth_set_jabber_password'), # Mumble service control url(r'^activate_mumble/$', 'services.views.activate_mumble', name='auth_activate_mumble'), @@ -139,7 +70,6 @@ urlpatterns = patterns('', name='auth_deactivate_teamspeak3'), url(r'reset_teamspeak3_perm/$', 'services.views.reset_teamspeak3_perm', name='auth_reset_teamspeak3_perm'), - url(r'verify_teamspeak3/$', 'services.views.verify_teamspeak3', name='auth_verify_teamspeak3'), # Discord Service Control url(r'^activate_discord/$', 'services.views.activate_discord', name='auth_activate_discord'), @@ -182,37 +112,26 @@ urlpatterns = patterns('', name='auth_reset_pathfinder_password'), url(r'^set_pathfinder_password/$', 'services.views.set_pathfinder_password', name='auth_set_pathfinder_password'), - # Tools - url(r'^tool/fleet_formatter_tool/$', 'services.views.fleet_formatter_view', - name='auth_fleet_format_tool_view'), - - # Timer URLS - url(r'^timers/$', 'timerboard.views.timer_view', name='auth_timer_view'), - url(r'^add_timer/$', 'timerboard.views.add_timer_view', name='auth_add_timer_view'), - url(r'^remove_timer/(\w+)', 'timerboard.views.remove_timer', name='auth_remove_timer'), - url(r'^edit_timer/(\w+)$', 'timerboard.views.edit_timer', name='auth_edit_timer'), - # SRP URLS - url(r'^srp/$', 'srp.views.srp_management', name='auth_srp_management_view'), - url(r'^srp_all/$', 'srp.views.srp_management_all', name='auth_srp_management_all_view'), - url(r'^srp_fleet_view/(\w+)$', 'srp.views.srp_fleet_view', name='auth_srp_fleet_view'), - url(r'^srp_fleet_add_view/$', 'srp.views.srp_fleet_add_view', name='auth_srp_fleet_add_view'), url(r'^srp_fleet_remove/(\w+)$', 'srp.views.srp_fleet_remove', name='auth_srp_fleet_remove'), url(r'^srp_fleet_disable/(\w+)$', 'srp.views.srp_fleet_disable', name='auth_srp_fleet_disable'), url(r'^srp_fleet_enable/(\w+)$', 'srp.views.srp_fleet_enable', name='auth_srp_fleet_enable'), - url(r'^srp_fleet_edit/(\w+)$', 'srp.views.srp_fleet_edit_view', name='auth_srp_fleet_edit_view'), url(r'^srp_fleet_mark_completed/(\w+)', 'srp.views.srp_fleet_mark_completed', name='auth_srp_fleet_mark_completed'), url(r'^srp_fleet_mark_uncompleted/(\w+)', 'srp.views.srp_fleet_mark_uncompleted', name='auth_srp_fleet_mark_uncompleted'), - url(r'^srp_request/(\w+)', 'srp.views.srp_request_view', name='auth_srp_request_view'), url(r'^srp_request_remove/(\w+)', 'srp.views.srp_request_remove', name="auth_srp_request_remove"), url(r'srp_request_approve/(\w+)', 'srp.views.srp_request_approve', name='auth_srp_request_approve'), url(r'srp_request_reject/(\w+)', 'srp.views.srp_request_reject', name='auth_srp_request_reject'), - url(r'srp_request_amount_update/(\w+)', 'srp.views.srp_request_update_amount_view', - name="auth_srp_request_update_amount_view"), + + # Notifications + url(r'^remove_notifications/(\w+)/$', 'notifications.views.remove_notification', name='auth_remove_notification'), +) + +# User viewed/translated URLS +urlpatterns += i18n_patterns('', #corputils url(r'^corputils/$', 'corputils.views.corp_member_view', name='auth_corputils'), @@ -223,6 +142,7 @@ urlpatterns = patterns('', # FLEET FITTINGS url(r'^fits/$', 'services.views.fleet_fits', name='auth_fleet_fits'), + #Fleetup url(r'^fleetup/$', 'fleetup.views.fleetup_view', name='auth_fleetup_view'), url(r'^fleetup/fittings/$', 'fleetup.views.fleetup_fittings', name='auth_fleetup_fittings'), @@ -231,23 +151,133 @@ urlpatterns = patterns('', url(r'^fleetup/characters/$', 'fleetup.views.fleetup_characters', name='auth_fleetup_characters'), url(r'^fleetup/doctrines/(?P[0-9]+)/$', 'fleetup.views.fleetup_doctrine'), - # Sig Tracker - url(r'^sigtracker/$', 'sigtracker.views.sigtracker_view', name='auth_signature_view'), - url(r'^add_signature/$', 'sigtracker.views.add_signature_view', name='auth_add_signature_view'), - url(r'^remove_signature/(\w+)', 'sigtracker.views.remove_signature', name='auth_remove_signature'), - url(r'^edit_signature/(\w+)$', 'sigtracker.views.edit_signature', name='auth_edit_signature'), + # Authentication + url(_(r'^login_user/'), 'authentication.views.login_user', name='auth_login_user'), + url(_(r'^register_user/'), 'registration.views.register_user_view', name='auth_register_user'), + + url(_(r'^user/password/$'), 'django.contrib.auth.views.password_change', name='password_change'), + url(_(r'^user/password/done/$'), 'django.contrib.auth.views.password_change_done', + name='password_change_done'), + url(_(r'^user/password/reset/$'), 'django.contrib.auth.views.password_reset', + name='password_reset'), + url(_(r'^user/password/password/reset/done/$'), 'django.contrib.auth.views.password_reset_done', + name='password_reset_done'), + url(_(r'^user/password/reset/complete/$'), 'django.contrib.auth.views.password_reset_complete', + name='password_reset_complete'), + url(_(r'^user/password/reset/confirm/(?P[0-9A-Za-z_\-]+)/(?P.+)/$'), + 'django.contrib.auth.views.password_reset_confirm', name='password_reset_confirm'), + + # Portal Urls + url(_(r'^dashboard/$'), 'portal.views.dashboard_view', name='auth_dashboard'), + url(_(r'^help/$'), 'portal.views.help_view', name='auth_help'), + + # Eveonline Urls + url(_(r'^add_api_key/'), 'eveonline.views.add_api_key', name='auth_add_api_key'), + url(_(r'^api_key_management/'), 'eveonline.views.api_key_management_view', + name='auth_api_key_management'), + url(_(r'^refresh_api_pair/([0-9]+)/$'), 'eveonline.views.user_refresh_api', name='auth_user_refresh_api'), + url(_(r'^delete_api_pair/(\w+)/$'), 'eveonline.views.api_key_removal', name='auth_api_key_removal'), + url(_(r'^characters/'), 'eveonline.views.characters_view', name='auth_characters'), + # Group management + url(_(r'^groups/'), 'groupmanagement.views.groups_view', name='auth_groups'), + url(_(r'^group/management/'), 'groupmanagement.views.group_management', + name='auth_group_management'), + url(_(r'^group/request_add/(\w+)'), 'groupmanagement.views.group_request_add', + name='auth_group_request_add'), + url(_(r'^group/request/accept/(\w+)'), 'groupmanagement.views.group_accept_request', + name='auth_group_accept_request'), + url(_(r'^group/request/reject/(\w+)'), 'groupmanagement.views.group_reject_request', + name='auth_group_reject_request'), + + url(_(r'^group/request_leave/(\w+)'), 'groupmanagement.views.group_request_leave', + name='auth_group_request_leave'), + url(_(r'group/leave_request/accept/(\w+)'), 'groupmanagement.views.group_leave_accept_request', + name='auth_group_leave_accept_request'), + url(_(r'^group/leave_request/reject/(\w+)'), 'groupmanagement.views.group_leave_reject_request', + name='auth_group_leave_reject_request'), + + # HR Application Management + url(_(r'^hr_application_management/'), 'hrapplications.views.hr_application_management_view', + name="auth_hrapplications_view"), + url(_(r'^hr_application_create/$'), 'hrapplications.views.hr_application_create_view', + name="auth_hrapplication_create_view"), + url(_(r'^hr_application_create/(\d+)'), 'hrapplications.views.hr_application_create_view', + name="auth_hrapplication_create_view"), + url(_(r'^hr_application_remove/(\w+)'), 'hrapplications.views.hr_application_remove', + name="auth_hrapplication_remove"), + url(_(r'hr_application_view/(\w+)'), 'hrapplications.views.hr_application_view', + name="auth_hrapplication_view"), + url(_(r'hr_application_personal_view/(\w+)'), 'hrapplications.views.hr_application_personal_view', + name="auth_hrapplication_personal_view"), + url(_(r'hr_application_personal_removal/(\w+)'), + 'hrapplications.views.hr_application_personal_removal', + name="auth_hrapplication_personal_removal"), + url(_(r'hr_application_approve/(\w+)'), 'hrapplications.views.hr_application_approve', + name="auth_hrapplication_approve"), + url(_(r'hr_application_reject/(\w+)'), 'hrapplications.views.hr_application_reject', + name="auth_hrapplication_reject"), + url(_(r'hr_application_search/'), 'hrapplications.views.hr_application_search', + name="auth_hrapplication_search"), + url(_(r'hr_mark_in_progress/(\w+)'), 'hrapplications.views.hr_application_mark_in_progress', + name="auth_hrapplication_mark_in_progress"), + # Fleet Operations Timers - url(r'^optimer/$', 'optimer.views.optimer_view', name='auth_optimer_view'), - url(r'^add_optimer/$', 'optimer.views.add_optimer_view', name='auth_add_optimer_view'), - url(r'^remove_optimer/(\w+)', 'optimer.views.remove_optimer', name='auth_remove_optimer'), - url(r'^edit_optimer/(\w+)$', 'optimer.views.edit_optimer', name='auth_edit_optimer'), + url(_(r'^optimer/$'), 'optimer.views.optimer_view', name='auth_optimer_view'), + url(_(r'^add_optimer/$'), 'optimer.views.add_optimer_view', name='auth_add_optimer_view'), + url(_(r'^remove_optimer/(\w+)'), 'optimer.views.remove_optimer', name='auth_remove_optimer'), + url(_(r'^edit_optimer/(\w+)$'), 'optimer.views.edit_optimer', name='auth_edit_optimer'), + + # Service Urls + url(_(r'^services/$'), 'services.views.services_view', name='auth_services'), + url(_(r'^services/jabber_broadcast/$'), 'services.views.jabber_broadcast_view', + name='auth_jabber_broadcast_view'), + + #Teamspeak Urls + url(r'verify_teamspeak3/$', 'services.views.verify_teamspeak3', name='auth_verify_teamspeak3'), + + #corputils + url(_(r'^corputils/$'), 'corputils.views.corp_member_view', name='auth_corputils'), + url(_(r'^corputils/(?P[0-9]+)/$'), 'corputils.views.corp_member_view'), + url(_(r'^corputils/search/$'), 'corputils.views.corputils_search', name="auth_corputils_search"), + url(_(r'^corputils/search/(?P[0-9]+)/$'), 'corputils.views.corputils_search'), + + # Timer URLS + url(_(r'^timers/$'), 'timerboard.views.timer_view', name='auth_timer_view'), + url(_(r'^add_timer/$'), 'timerboard.views.add_timer_view', name='auth_add_timer_view'), + url(_(r'^remove_timer/(\w+)'), 'timerboard.views.remove_timer', name='auth_remove_timer'), + url(_(r'^edit_timer/(\w+)$'), 'timerboard.views.edit_timer', name='auth_edit_timer'), + + # Sig Tracker + url(_(r'^sigtracker/$'), 'sigtracker.views.sigtracker_view', name='auth_signature_view'), + url(_(r'^add_signature/$'), 'sigtracker.views.add_signature_view', name='auth_add_signature_view'), + url(_(r'^remove_signature/(\w+)'), 'sigtracker.views.remove_signature', name='auth_remove_signature'), + url(_(r'^edit_signature/(\w+)$'), 'sigtracker.views.edit_signature', name='auth_edit_signature'), + + #SRP URLS + url(_(r'^srp/$'), 'srp.views.srp_management', name='auth_srp_management_view'), + url(_(r'^srp_all/$'), 'srp.views.srp_management_all', name='auth_srp_management_all_view'), + url(_(r'^srp_fleet_view/(\w+)$'), 'srp.views.srp_fleet_view', name='auth_srp_fleet_view'), + url(_(r'^srp_fleet_add_view/$'), 'srp.views.srp_fleet_add_view', name='auth_srp_fleet_add_view'), + url(_(r'^srp_fleet_edit/(\w+)$'), 'srp.views.srp_fleet_edit_view', name='auth_srp_fleet_edit_view'), + url(_(r'^srp_request/(\w+)'), 'srp.views.srp_request_view', name='auth_srp_request_view'), + url(_(r'srp_request_amount_update/(\w+)'), 'srp.views.srp_request_update_amount_view', + name="auth_srp_request_update_amount_view"), + + # Tools + url(_(r'^tool/fleet_formatter_tool/$'), 'services.views.fleet_formatter_view', + name='auth_fleet_format_tool_view'), # Notifications - url(r'^notifications/$', 'notifications.views.notification_list', name='auth_notification_list'), - url(r'^notifications/(\w+)/$', 'notifications.views.notification_view', name='auth_notification_view'), - url(r'^remove_notifications/(\w+)/$', 'notifications.views.remove_notification', name='auth_remove_notification'), - + url(_(r'^notifications/$'), 'notifications.views.notification_list', name='auth_notification_list'), + url(_(r'^notifications/(\w+)/$'), 'notifications.views.notification_view', name='auth_notification_view'), + + #Jabber + url(_(r'^set_jabber_password/$'), 'services.views.set_jabber_password', name='auth_set_jabber_password'), + + # FLEET FITTINGS + url(_(r'^fits/$'), 'services.views.fleet_fits', name='auth_fleet_fits'), + # FleetActivityTracking (FAT) url(r'^fat/$', 'fleetactivitytracking.views.fatlink_view', name='auth_fatlink_view'), url(r'^fat/statistics/$', 'fleetactivitytracking.views.fatlink_statistics_view', name='auth_fatlink_view_statistics'), @@ -265,4 +295,5 @@ urlpatterns = patterns('', url(r'^fat/link/$', 'fleetactivitytracking.views.fatlink_view', name='auth_click_fatlink_view'), url(r'^fat/link/(?P[a-zA-Z0-9]+)/(?P[a-z0-9_-]+)/$', 'fleetactivitytracking.views.click_fatlink_view'), - ) +) + diff --git a/authentication/forms.py b/authentication/forms.py index dc77cba4..3774277b 100644 --- a/authentication/forms.py +++ b/authentication/forms.py @@ -1,6 +1,7 @@ from django import forms +from django.utils.translation import ugettext_lazy as _ class LoginForm(forms.Form): - username = forms.CharField(max_length=32, required=True) - password = forms.CharField(widget=forms.PasswordInput()) \ No newline at end of file + username = forms.CharField(label=_('Username'), max_length=32, required=True) + password = forms.CharField(label=_('Password'), widget=forms.PasswordInput()) \ No newline at end of file diff --git a/authentication/views.py b/authentication/views.py index 2e1ce349..0d250b8e 100644 --- a/authentication/views.py +++ b/authentication/views.py @@ -4,6 +4,7 @@ from django.contrib.auth import authenticate from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext +from django.utils import translation from forms import LoginForm @@ -23,7 +24,7 @@ def login_user(request): if user.is_active: logger.info("Successful login attempt from user %s" % user) login(request, user) - return HttpResponseRedirect("/dashboard") + return HttpResponseRedirect("/dashboard/") else: logger.info("Login attempt failed for user %s: user marked inactive." % user) else: @@ -43,4 +44,4 @@ def logout_user(request): logoutUser = request.user logout(request) logger.info("Successful logout for user %s" % logoutUser) - return HttpResponseRedirect("/") + return HttpResponseRedirect("/") \ No newline at end of file diff --git a/corputils/forms.py b/corputils/forms.py index aebdc2ba..d58129f9 100644 --- a/corputils/forms.py +++ b/corputils/forms.py @@ -1,8 +1,9 @@ from django import forms from django.conf import settings +from django.utils.translation import ugettext_lazy as _ from eveonline.models import EveCorporationInfo from eveonline.models import EveAllianceInfo class CorputilsSearchForm(forms.Form): - search_string = forms.CharField(max_length=254, required=True, label="", widget=forms.TextInput(attrs={'placeholder': 'Search characters...'})) + search_string = forms.CharField(max_length=254, required=True, label="", widget=forms.TextInput(attrs={'placeholder': _('Search characters...')})) diff --git a/eveonline/views.py b/eveonline/views.py index 15ea537d..4b65ecb9 100755 --- a/eveonline/views.py +++ b/eveonline/views.py @@ -124,8 +124,8 @@ def main_character_change(request, char_id): if EveManager.check_if_character_owned_by_user(char_id, request.user): AuthServicesInfoManager.update_main_char_Id(char_id, request.user) set_state(request.user) - return HttpResponseRedirect("/characters") - return HttpResponseRedirect("/characters") + return HttpResponseRedirect("/characters/") + return HttpResponseRedirect("/characters/") diff --git a/fleetactivitytracking/forms.py b/fleetactivitytracking/forms.py index a9c5d35b..20dfc9c3 100644 --- a/fleetactivitytracking/forms.py +++ b/fleetactivitytracking/forms.py @@ -1,5 +1,6 @@ from django import forms from optimer.models import optimer +from django.utils.translation import ugettext_lazy as _ def get_fleet_list(): fleets = optimer.objects.all() @@ -11,6 +12,6 @@ def get_fleet_list(): class FatlinkForm(forms.Form): - fatname = forms.CharField(label='Name of fat-link', required=True) - duration = forms.IntegerField(label="Duration of fat-link", required=True, initial=30, min_value=1, max_value=2147483647) - fleet = forms.ModelChoiceField(label="Fleet", queryset=optimer.objects.all().order_by('operation_name')) \ No newline at end of file + fatname = forms.CharField(label=_('Name of fat-link'), required=True) + duration = forms.IntegerField(label=_("Duration of fat-link"), required=True, initial=30, min_value=1, max_value=2147483647) + fleet = forms.ModelChoiceField(label=_("Fleet"), queryset=optimer.objects.all().order_by('operation_name')) \ No newline at end of file diff --git a/groupmanagement/views.py b/groupmanagement/views.py index b0696d71..214e9530 100755 --- a/groupmanagement/views.py +++ b/groupmanagement/views.py @@ -12,6 +12,7 @@ from models import HiddenGroup from models import OpenGroup from authentication.managers import AuthServicesInfoManager from eveonline.managers import EveManager +from django.utils.translation import ugettext_lazy as _ import logging @@ -159,7 +160,7 @@ def group_request_add(request, group_id): return HttpResponseRedirect("/groups") auth_info = AuthServicesInfoManager.get_auth_service_info(request.user) grouprequest = GroupRequest() - grouprequest.status = 'pending' + grouprequest.status = _('Pending') grouprequest.group = group grouprequest.user = request.user grouprequest.main_char = EveManager.get_character_by_id(auth_info.main_char_id) @@ -179,7 +180,7 @@ def group_request_leave(request, group_id): return HttpResponseRedirect("/groups") auth_info = AuthServicesInfoManager.get_auth_service_info(request.user) grouprequest = GroupRequest() - grouprequest.status = 'pending' + grouprequest.status = _('Pending') grouprequest.group = group grouprequest.user = request.user grouprequest.main_char = EveManager.get_character_by_id(auth_info.main_char_id) diff --git a/hrapplications/forms.py b/hrapplications/forms.py index 20bf91ee..2045779d 100755 --- a/hrapplications/forms.py +++ b/hrapplications/forms.py @@ -1,7 +1,8 @@ from django import forms +from django.utils.translation import ugettext_lazy as _ class HRApplicationCommentForm(forms.Form): - comment = forms.CharField(widget=forms.Textarea, required=False, label="Comment", max_length=254) + comment = forms.CharField(widget=forms.Textarea, required=False, label=_("Comment"), max_length=254) class HRApplicationSearchForm(forms.Form): - search_string = forms.CharField(max_length=254, required=True, label="Search String") + search_string = forms.CharField(max_length=254, required=True, label=_("Search String")) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 00000000..bc43249b Binary files /dev/null and b/locale/de/LC_MESSAGES/django.mo differ diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po new file mode 100644 index 00000000..c428bbe2 --- /dev/null +++ b/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,2246 @@ +# AllianceAuth Deutsch Translation Schifffahrtsgesellschaft! +# Translated by volunteers at inPanic alliance +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-16 18:15+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: alliance_auth/settings.py:83 +msgid "English" +msgstr "Englisch" + +#: alliance_auth/settings.py:84 +msgid "German" +msgstr "Deutsch" + +#: alliance_auth/urls.py:19 +msgid "^$" +msgstr "" + +#: alliance_auth/urls.py:155 +msgid "^login_user/" +msgstr "" + +#: alliance_auth/urls.py:156 +msgid "^register_user/" +msgstr "" + +#: alliance_auth/urls.py:158 +msgid "^user/password/$" +msgstr "" + +#: alliance_auth/urls.py:159 +msgid "^user/password/done/$" +msgstr "" + +#: alliance_auth/urls.py:161 +msgid "^user/password/reset/$" +msgstr "" + +#: alliance_auth/urls.py:163 +msgid "^user/password/password/reset/done/$" +msgstr "" + +#: alliance_auth/urls.py:165 +msgid "^user/password/reset/complete/$" +msgstr "" + +#: alliance_auth/urls.py:167 +msgid "" +"^user/password/reset/confirm/(?P[0-9A-Za-z_\\-]+)/(?P.+)/$" +msgstr "" + +#: alliance_auth/urls.py:171 +msgid "^dashboard/$" +msgstr "" + +#: alliance_auth/urls.py:172 +msgid "^help/$" +msgstr "" + +#: alliance_auth/urls.py:175 +msgid "^add_api_key/" +msgstr "" + +#: alliance_auth/urls.py:176 +msgid "^api_key_management/" +msgstr "" + +#: alliance_auth/urls.py:178 +msgid "^refresh_api_pair/([0-9]+)/$" +msgstr "" + +#: alliance_auth/urls.py:179 +msgid "^delete_api_pair/(\\w+)/$" +msgstr "" + +#: alliance_auth/urls.py:180 +msgid "^characters/" +msgstr "" + +#: alliance_auth/urls.py:183 +msgid "^groups/" +msgstr "" + +#: alliance_auth/urls.py:184 +msgid "^group/management/" +msgstr "" + +#: alliance_auth/urls.py:186 +msgid "^group/request_add/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:188 +msgid "^group/request/accept/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:190 +msgid "^group/request/reject/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:193 +msgid "^group/request_leave/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:195 +msgid "group/leave_request/accept/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:197 +msgid "^group/leave_request/reject/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:201 +msgid "^hr_application_management/" +msgstr "" + +#: alliance_auth/urls.py:203 +msgid "^hr_application_create/$" +msgstr "" + +#: alliance_auth/urls.py:205 +msgid "^hr_application_create/(\\d+)" +msgstr "" + +#: alliance_auth/urls.py:207 +msgid "^hr_application_remove/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:209 +msgid "hr_application_view/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:211 +msgid "hr_application_personal_view/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:213 +msgid "hr_application_personal_removal/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:216 +msgid "hr_application_approve/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:218 +msgid "hr_application_reject/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:220 +msgid "hr_application_search/" +msgstr "" + +#: alliance_auth/urls.py:222 +msgid "hr_mark_in_progress/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:226 +msgid "^optimer/$" +msgstr "" + +#: alliance_auth/urls.py:227 +msgid "^add_optimer/$" +msgstr "" + +#: alliance_auth/urls.py:228 +msgid "^remove_optimer/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:229 +msgid "^edit_optimer/(\\w+)$" +msgstr "" + +#: alliance_auth/urls.py:232 +msgid "^services/$" +msgstr "" + +#: alliance_auth/urls.py:233 +msgid "^services/jabber_broadcast/$" +msgstr "" + +#: alliance_auth/urls.py:240 +msgid "^corputils/$" +msgstr "" + +#: alliance_auth/urls.py:241 +msgid "^corputils/(?P[0-9]+)/$" +msgstr "" + +#: alliance_auth/urls.py:242 +msgid "^corputils/search/$" +msgstr "" + +#: alliance_auth/urls.py:243 +msgid "^corputils/search/(?P[0-9]+)/$" +msgstr "" + +#: alliance_auth/urls.py:246 +msgid "^timers/$" +msgstr "" + +#: alliance_auth/urls.py:247 +msgid "^add_timer/$" +msgstr "" + +#: alliance_auth/urls.py:248 +msgid "^remove_timer/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:249 +msgid "^edit_timer/(\\w+)$" +msgstr "" + +#: alliance_auth/urls.py:252 +msgid "^sigtracker/$" +msgstr "" + +#: alliance_auth/urls.py:253 +msgid "^add_signature/$" +msgstr "" + +#: alliance_auth/urls.py:254 +msgid "^remove_signature/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:255 +msgid "^edit_signature/(\\w+)$" +msgstr "" + +#: alliance_auth/urls.py:258 +msgid "^srp/$" +msgstr "" + +#: alliance_auth/urls.py:259 +msgid "^srp_all/$" +msgstr "" + +#: alliance_auth/urls.py:260 +msgid "^srp_fleet_view/(\\w+)$" +msgstr "" + +#: alliance_auth/urls.py:261 +msgid "^srp_fleet_add_view/$" +msgstr "" + +#: alliance_auth/urls.py:262 +msgid "^srp_fleet_edit/(\\w+)$" +msgstr "" + +#: alliance_auth/urls.py:263 +msgid "^srp_request/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:264 +msgid "srp_request_amount_update/(\\w+)" +msgstr "" + +#: alliance_auth/urls.py:268 +msgid "^tool/fleet_formatter_tool/$" +msgstr "" + +#: alliance_auth/urls.py:272 +msgid "^notifications/$" +msgstr "" + +#: alliance_auth/urls.py:273 +msgid "^notifications/(\\w+)/$" +msgstr "" + +#: alliance_auth/urls.py:276 +msgid "^set_jabber_password/$" +msgstr "" + +#: alliance_auth/urls.py:279 +msgid "^fits/$" +msgstr "" + +#: authentication/forms.py:6 +#: customization/templates/registered/services.html:17 +#: customization/templates/registered/services.html:342 +#: registration/forms.py:11 +#: stock/templates/registered/hrapplicationmanagement.html:25 +#: stock/templates/registered/hrapplicationmanagement.html:79 +#: stock/templates/registered/hrapplicationmanagement.html:120 +#: stock/templates/registered/hrapplicationsearchview.html:26 +#: stock/templates/registered/services.html:25 +#: stock/templates/registered/services.html:379 +msgid "Username" +msgstr "Benutzername" + +#: authentication/forms.py:7 +#: customization/templates/registered/services.html:18 +#: customization/templates/registered/services.html:343 +#: registration/forms.py:12 services/forms.py:26 services/forms.py:30 +#: stock/templates/registered/services.html:26 +#: stock/templates/registered/services.html:380 +msgid "Password" +msgstr "Passwort" + +#: corputils/forms.py:9 +msgid "Search characters..." +msgstr "Suche Charaktere..." + +#: customization/templates/registered/dashboard.html:4 +#: customization/templates/registered/dashboard.html:14 +#: stock/templates/registered/dashboard.html:4 +#: stock/templates/registered/dashboard.html:9 +msgid "Dashboard" +msgstr "Dashboard" + +#: customization/templates/registered/dashboard.html:24 +#: stock/templates/registered/corputils.html:107 +#: stock/templates/registered/corputilssearchview.html:40 +#: stock/templates/registered/dashboard.html:19 +msgid "Main character" +msgstr "Hauptcharakter" + +#: customization/templates/registered/dashboard.html:48 +#: stock/templates/registered/dashboard.html:43 +msgid "Groups" +msgstr "Gruppen" + +#: customization/templates/registered/dashboard.html:69 +#: stock/templates/registered/dashboard.html:64 +msgid "Not a part of the corporation." +msgstr "Nicht Mitglied der Corporation" + +#: customization/templates/registered/dashboard.html:71 +#: stock/templates/registered/dashboard.html:66 +msgid "Not a part of the alliance." +msgstr "Nicht Mitglied der Allianz" + +#: customization/templates/registered/fleetfits.html:8 +#: stock/templates/registered/fleetfits.html:8 +msgid "Alliance Fleet Doctrines" +msgstr "Allianzflottendoktrinen" + +#: customization/templates/registered/operationmanagement.html:8 +#: stock/templates/registered/operationmanagement.html:8 +msgid "Fleet Operation Management" +msgstr "Flotten Operations Management" + +#: customization/templates/registered/operationmanagement.html:13 +#: stock/templates/registered/operationmanagement.html:13 +msgid "Fleet Operation Timers" +msgstr "Flotten Operations Zeiten" + +#: customization/templates/registered/operationmanagement.html:17 +#: stock/templates/registered/addoperation.html:9 +#: stock/templates/registered/operationmanagement.html:17 +msgid "Create Operation" +msgstr "Operation erstellen" + +#: customization/templates/registered/operationmanagement.html:24 +#: stock/templates/registered/fleetup.html:116 +#: stock/templates/registered/operationmanagement.html:24 +#: stock/templates/registered/timermanagement.html:24 +msgid "Current Eve Time:" +msgstr "Momentane Eve Zeit" + +#: customization/templates/registered/operationmanagement.html:30 +#: optimer/form.py:14 stock/templates/registered/operationmanagement.html:30 +msgid "Operation Name" +msgstr "Operationsname" + +#: customization/templates/registered/operationmanagement.html:31 +#: optimer/form.py:9 stock/templates/registered/fleetup.html:73 +#: stock/templates/registered/fleetupdoctrinesview.html:50 +#: stock/templates/registered/operationmanagement.html:31 +msgid "Doctrine" +msgstr "Doktrin" + +#: customization/templates/registered/operationmanagement.html:32 +#: stock/templates/registered/operationmanagement.html:32 +msgid "Form Up System" +msgstr "Form Up System" + +#: customization/templates/registered/operationmanagement.html:33 +#: stock/templates/registered/operationmanagement.html:33 +msgid "Form Up Location" +msgstr "Form Up Location" + +#: customization/templates/registered/operationmanagement.html:34 +#: optimer/form.py:12 stock/templates/registered/operationmanagement.html:34 +msgid "Start Time" +msgstr "Startzeit" + +#: customization/templates/registered/operationmanagement.html:35 +#: stock/templates/registered/operationmanagement.html:35 +#: stock/templates/registered/timermanagement.html:35 +#: stock/templates/registered/timermanagement.html:137 +#: stock/templates/registered/timermanagement.html:239 +msgid "Local Time" +msgstr "Ortszeit" + +#: customization/templates/registered/operationmanagement.html:36 +#: optimer/form.py:13 +#: stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html:44 +#: stock/templates/registered/fatlinkview.html:73 +#: stock/templates/registered/operationmanagement.html:36 +msgid "Duration" +msgstr "Dauer" + +#: customization/templates/registered/operationmanagement.html:37 +#: stock/templates/registered/operationmanagement.html:37 +msgid "FC" +msgstr "FC" + +#: customization/templates/registered/operationmanagement.html:38 +#: stock/templates/registered/operationmanagement.html:38 +#: stock/templates/registered/timermanagement.html:30 +#: stock/templates/registered/timermanagement.html:132 +#: stock/templates/registered/timermanagement.html:234 timerboard/form.py:12 +msgid "Details" +msgstr "Details" + +#: customization/templates/registered/operationmanagement.html:39 +#: stock/templates/registered/operationmanagement.html:39 +#: stock/templates/registered/signaturemanagement.html:31 +#: stock/templates/registered/srpfleetdata.html:45 +msgid "Post Time" +msgstr "Veröffentlichungs Zeit" + +#: customization/templates/registered/operationmanagement.html:41 +#: stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html:41 +#: stock/templates/registered/fatlinkview.html:70 +#: stock/templates/registered/operationmanagement.html:41 +#: stock/templates/registered/signaturemanagement.html:33 +#: stock/templates/registered/timermanagement.html:36 +#: stock/templates/registered/timermanagement.html:138 +#: stock/templates/registered/timermanagement.html:240 +msgid "Creator" +msgstr "Ersteller" + +#: customization/templates/registered/operationmanagement.html:42 +#: customization/templates/registered/services.html:20 +#: customization/templates/registered/services.html:304 +#: customization/templates/registered/services.html:345 +#: customization/templates/registered/services.html:627 +#: stock/templates/registered/apikeymanagment.html:29 +#: stock/templates/registered/groupmanagement.html:20 +#: stock/templates/registered/groupmanagement.html:50 +#: stock/templates/registered/groups.html:19 +#: stock/templates/registered/operationmanagement.html:42 +#: stock/templates/registered/services.html:28 +#: stock/templates/registered/services.html:341 +#: stock/templates/registered/services.html:382 +#: stock/templates/registered/services.html:693 +#: stock/templates/registered/signaturemanagement.html:34 +#: stock/templates/registered/timermanagement.html:38 +#: stock/templates/registered/timermanagement.html:140 +#: stock/templates/registered/timermanagement.html:242 +msgid "Action" +msgstr "Aktion" + +#: customization/templates/registered/services.html:7 +#: stock/templates/registered/services.html:7 +msgid "Services Management" +msgstr "Dienst Verwaltung" + +#: customization/templates/registered/services.html:12 +#: stock/templates/registered/services.html:12 +msgid "Available Services" +msgstr "Verfügbare Dienste" + +#: customization/templates/registered/services.html:16 +#: customization/templates/registered/services.html:300 +#: customization/templates/registered/services.html:341 +#: customization/templates/registered/services.html:623 +#: stock/templates/registered/services.html:24 +#: stock/templates/registered/services.html:337 +#: stock/templates/registered/services.html:378 +#: stock/templates/registered/services.html:689 +msgid "Service" +msgstr "Dienst" + +#: customization/templates/registered/services.html:19 +#: customization/templates/registered/services.html:344 +#: stock/templates/registered/services.html:27 +#: stock/templates/registered/services.html:381 +msgid "Domain" +msgstr "Domain" + +#: customization/templates/registered/services.html:301 +#: customization/templates/registered/services.html:624 +#: stock/templates/registered/services.html:338 +#: stock/templates/registered/services.html:690 +msgid "Unique ID" +msgstr "Einzigartige ID" + +#: customization/templates/registered/services.html:303 +#: customization/templates/registered/services.html:626 +#: stock/templates/registered/services.html:340 +#: stock/templates/registered/services.html:692 +msgid "Quick Link" +msgstr "Schnell Link" + +#: customization/templates/registered/services.html:663 +#: stock/templates/registered/groups.html:57 +#: stock/templates/registered/services.html:729 +msgid "You are not in the corporation." +msgstr "Du bist nicht in dieser Corporation." + +#: customization/templates/registered/services.html:665 +#: stock/templates/registered/groups.html:59 +#: stock/templates/registered/services.html:731 +msgid "You are not in the alliance." +msgstr "Du bist kein Mitglied der Allianz." + +#: customization/templates/registered/teamspeakjoin.html:8 +#: stock/templates/registered/teamspeakjoin.html:8 +msgid "Verify Teamspeak" +msgstr "Teamspeak bestätigen" + +#: customization/templates/registered/teamspeakjoin.html:13 +#: stock/templates/registered/teamspeakjoin.html:13 +msgid "Verify Teamspeak Identity" +msgstr "Teamspeak-Identität bestätigen" + +#: customization/templates/registered/teamspeakjoin.html:16 +#: stock/templates/registered/teamspeakjoin.html:16 +msgid "Join Server" +msgstr "Server beitreten" + +#: customization/templates/registered/teamspeakjoin.html:22 +#: stock/templates/registered/teamspeakjoin.html:22 +msgid "Continue" +msgstr "Fortsetzen" + +#: fleetactivitytracking/forms.py:15 +msgid "Name of fat-link" +msgstr "Name des fat-links:" + +#: fleetactivitytracking/forms.py:16 +msgid "Duration of fat-link" +msgstr "Dauer des fat-link" + +#: fleetactivitytracking/forms.py:17 +#: stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html:42 +#: stock/templates/registered/fatlinkview.html:71 +msgid "Fleet" +msgstr "Flotte" + +#: groupmanagement/views.py:163 groupmanagement/views.py:183 +#: stock/templates/registered/hrapplicationmanagement.html:36 +#: stock/templates/registered/hrapplicationmanagement.html:70 +#: stock/templates/registered/hrapplicationmanagement.html:96 +#: stock/templates/registered/hrapplicationmanagement.html:137 +#: stock/templates/registered/hrapplicationsearchview.html:40 +#: stock/templates/registered/hrapplicationview.html:21 +#: stock/templates/registered/srpfleetdata.html:78 +#: stock/templates/registered/srpmanagement.html:83 +msgid "Pending" +msgstr "Ausstehend" + +#: hrapplications/forms.py:5 +#: stock/templates/registered/hrapplicationview.html:92 +msgid "Comment" +msgstr "Kommentar" + +#: hrapplications/forms.py:8 +msgid "Search String" +msgstr "Suchbegriff" + +#: optimer/form.py:10 sigtracker/form.py:12 +#: stock/templates/registered/fatlinkmodify.html:25 +#: stock/templates/registered/fatlinkview.html:29 +#: stock/templates/registered/signaturemanagement.html:24 +#: stock/templates/registered/timermanagement.html:32 +#: stock/templates/registered/timermanagement.html:134 +#: stock/templates/registered/timermanagement.html:236 timerboard/form.py:13 +msgid "System" +msgstr "System" + +#: optimer/form.py:11 stock/templates/registered/fleetup.html:72 +#: stock/templates/registered/fleetup.html:158 +msgid "Location" +msgstr "Ort" + +#: optimer/form.py:15 stock/templates/registered/srpmanagement.html:37 +msgid "Fleet Commander" +msgstr "Flottenkommandeur" + +#: optimer/form.py:16 +msgid "Extra Details" +msgstr "Zusätzliche Details" + +#: registration/forms.py:13 +msgid "Password Again" +msgstr "Passwort wdh." + +#: registration/forms.py:14 +msgid "Email" +msgstr "E-Mail" + +#: registration/forms.py:15 +msgid "Email Again" +msgstr "E-Mail wdh." + +#: services/forms.py:6 +msgid "Group" +msgstr "Gruppen" + +#: services/forms.py:7 +msgid "Message" +msgstr "Nachricht" + +#: services/forms.py:11 +msgid "Name of Fleet:" +msgstr "SRP Flotte erstellen:" + +#: services/forms.py:12 +msgid "Fleet Commander:" +msgstr "Flottenkommandeur:" + +#: services/forms.py:13 +msgid "Fleet Comms:" +msgstr "Flotten Comms:" + +#: services/forms.py:14 +msgid "Fleet Type:" +msgstr "Flottenzeit:" + +#: services/forms.py:15 +msgid "Ship Priorities:" +msgstr "Schiffs priorität:" + +#: services/forms.py:16 +msgid "Formup Location:" +msgstr "Formup Location:" + +#: services/forms.py:17 +msgid "Formup Time:" +msgstr "Formup Zeit:" + +#: services/forms.py:18 +msgid "Expected Duration:" +msgstr "Erwartete Dauer:" + +#: services/forms.py:19 +msgid "Purpose:" +msgstr "Grund:" + +#: services/forms.py:20 +msgid "Reimbursable?*" +msgstr "Erstattungsfähig?" + +#: services/forms.py:20 services/forms.py:21 +msgid "Yes" +msgstr "Ja" + +#: services/forms.py:20 services/forms.py:21 +msgid "No" +msgstr "Nein" + +#: services/forms.py:21 +msgid "Important?*" +msgstr "Wichtig?" + +#: services/forms.py:22 +msgid "Comments" +msgstr "Kommentar" + +#: services/forms.py:25 +msgid "Email Address" +msgstr "Email Adresse" + +#: services/forms.py:27 +msgid "Update Avatar" +msgstr "Signatur aktualisieren" + +#: services/forms.py:34 +msgid "Password must be at least 8 characters long." +msgstr "Passwort muss mindestens 8 Zeichen lang sein" + +#: services/forms.py:43 +#, python-format +msgid "Unable to locate user %s on server" +msgstr "Unfähig den Benutzer %s auf dem Server zu finden" + +#: sigtracker/form.py:7 +msgid "More Than 50%" +msgstr "Mehr als 50%" + +#: sigtracker/form.py:7 +msgid "Less Than 50%" +msgstr "Weniger als 50%" + +#: sigtracker/form.py:7 +msgid "Less Than 10%" +msgstr "Weniger als 10%" + +#: sigtracker/form.py:8 +msgid "More Than 24 Hours" +msgstr "Mehr als 24 Stunden" + +#: sigtracker/form.py:8 +msgid "Less Than 24 Hours" +msgstr "Weniger als 24 Stunden" + +#: sigtracker/form.py:8 +msgid "Less Than 4 Hours" +msgstr "Weniger als 4 Stunden" + +#: sigtracker/form.py:9 +msgid "Only Smallest" +msgstr "Nur kleinste" + +#: sigtracker/form.py:9 +msgid "Up to Medium" +msgstr "bis mittel" + +#: sigtracker/form.py:9 +msgid "Larger" +msgstr "Größere" + +#: sigtracker/form.py:9 +msgid "Very Large" +msgstr "Sehr Große" + +#: sigtracker/form.py:13 +#: stock/templates/registered/signaturemanagement.html:23 +msgid "ID" +msgstr "ID" + +#: sigtracker/form.py:14 +#: stock/templates/registered/signaturemanagement.html:27 +msgid "Lifetime Status" +msgstr "Lebenszeit Status" + +#: sigtracker/form.py:15 +#: stock/templates/registered/signaturemanagement.html:28 +msgid "Mass Status" +msgstr "Masse Status" + +#: sigtracker/form.py:16 +#: stock/templates/registered/signaturemanagement.html:29 +msgid "Ship Size" +msgstr "Schiffsgröße" + +#: sigtracker/form.py:17 +msgid "End Destination" +msgstr "Ziel" + +#: sigtracker/form.py:18 +#: stock/templates/registered/signaturemanagement.html:26 +msgid "Goes Through" +msgstr "Geht durch" + +#: sigtracker/form.py:19 +#: stock/templates/registered/signaturemanagement.html:30 +msgid "Notes" +msgstr "Notizen" + +#: srp/form.py:6 stock/templates/registered/srpmanagement.html:34 +msgid "Fleet Name" +msgstr "Flottenname" + +#: srp/form.py:7 stock/templates/registered/srpmanagement.html:35 +msgid "Fleet Time" +msgstr "Flottenzeit" + +#: srp/form.py:8 stock/templates/registered/srpmanagement.html:36 +msgid "Fleet Doctrine" +msgstr "Flottendoktrin" + +#: srp/form.py:12 stock/templates/registered/srpfleetdata.html:41 +msgid "Additional Info" +msgstr "Zusätzliche Info" + +#: srp/form.py:14 +msgid "zKillboard Link" +msgstr "zKillboard Link" + +#: srp/form.py:28 +msgid "Total SRP Amount" +msgstr "Aktualisiere SRP Menge" + +#: srp/form.py:32 +msgid "After Action Report Link" +msgstr "Abschlussbericht Link" + +#: stock/templates/public/base.html:82 +msgid "Logout" +msgstr "Ausloggen" + +#: stock/templates/public/base.html:84 +#: stock/templates/registration/password_reset_complete.html:54 +msgid "Login" +msgstr "Einloggen" + +#: stock/templates/public/base.html:95 +msgid "Main Navigation" +msgstr "Haupmenü" + +#: stock/templates/public/base.html:101 +msgid " Dashboard" +msgstr " Dashboard" + +#: stock/templates/public/base.html:107 +msgid " Api Keys" +msgstr " API Keys" + +#: stock/templates/public/base.html:113 +msgid " Characters" +msgstr " Charaktere" + +#: stock/templates/public/base.html:120 +msgid " Groups" +msgstr " Gruppen" + +#: stock/templates/public/base.html:127 +msgid " Help" +msgstr " Hilfe" + +#: stock/templates/public/base.html:132 +msgid "Aux Navigation" +msgstr "Zusatz Navigation" + +#: stock/templates/public/base.html:138 +msgid " Services" +msgstr " Dienste" + +#: stock/templates/public/base.html:147 +msgid " Applications" +msgstr " Bewerbungen" + +#: stock/templates/public/base.html:155 +msgid " Corporation Stats" +msgstr " Korporationsstatistiken" + +#: stock/templates/public/base.html:163 +msgid " Group Management" +msgstr " Gruppenverwaltung" + +#: stock/templates/public/base.html:171 +msgid " Fleet Doctrines" +msgstr " Flottendoktrinen" + +#: stock/templates/public/base.html:186 +msgid " Wormhole Tracker" +msgstr " Wurmloch Tracker" + +#: stock/templates/public/base.html:193 +msgid " Fleet Operations" +msgstr " Flottenoperationen" + +#: stock/templates/public/base.html:200 +msgid " Structure Timers" +msgstr " Strukturen Timer" + +#: stock/templates/public/base.html:213 +msgid " Ship Replacement" +msgstr " Schiff’s erstattung" + +#: stock/templates/public/base.html:220 +msgid "Util" +msgstr "Werkzeuge" + +#: stock/templates/public/base.html:225 +#: stock/templates/registration/password_change_done.html:10 +#: stock/templates/registration/password_change_form.html:9 +#: stock/templates/registration/password_change_form.html:18 +#: stock/templates/registration/password_reset_confirm.html:53 +msgid "Change Password" +msgstr "Passwort ändern" + +#: stock/templates/public/base.html:233 +msgid " Fleet Broadcast Formatter" +msgstr "Flottenübertragungen Formatierer " + +#: stock/templates/public/base.html:241 +msgid " Jabber Broadcast" +msgstr " Jabberübertragungen" + +#: stock/templates/public/login.html:55 +msgid "Username/Password Invalid" +msgstr "Benutzername/Passwort ungültig" + +#: stock/templates/public/login.html:58 +#: stock/templates/public/register.html:62 +msgid "Register" +msgstr "Registrieren" + +#: stock/templates/public/login.html:63 +msgid "Please sign in" +msgstr "Bitte einloggen" + +#: stock/templates/public/login.html:66 +msgid "Sign in" +msgstr "Einloggen" + +#: stock/templates/public/login.html:71 +msgid "Reset" +msgstr "Zurücksetzen" + +#: stock/templates/public/register.html:56 +msgid "Username Already Registered" +msgstr "Name ist bereit in Benutzung" + +#: stock/templates/public/register.html:60 +msgid "Register Account" +msgstr "Registriere Account" + +#: stock/templates/registered/addapikey.html:13 +msgid "Add Api Key" +msgstr "API Key hinzufügen" + +#: stock/templates/registered/addapikey.html:19 +#, python-format +msgid "" +"Member API keys require access mask %(MEMBER_API_MASK)s or greater for " +"services." +msgstr "" +"Mitglieder API Key erfordert Zugriffsmaske %(MEMBER_API_MASK)s oder höher" + +#: stock/templates/registered/addapikey.html:23 +msgid "Member API keys need to be account-wide." +msgstr "Mitglieder API Key muss für den ganzen Account sein." + +#: stock/templates/registered/addapikey.html:27 +#, python-format +msgid "" +"Create\n" +" a full API key" +msgstr "" +"Einen\n" +" vollständigen API Key erstellen" + +#: stock/templates/registered/addapikey.html:32 +#, python-format +msgid "" +"Blue API keys require access mask %(BLUE_API_MASK)s or greater for services." +msgstr "Blaue API Key erfordern Zugriffsmaske %(BLUE_API_MASK)s oder höher" + +#: stock/templates/registered/addapikey.html:36 +msgid "BLUE API keys need to be account-wide." +msgstr "BLAUE API Keys müssen Account-weit sein." + +#: stock/templates/registered/addapikey.html:40 +#, python-format +msgid "" +"Create\n" +" a blue key" +msgstr "" +"Einen blauen Key " +"erstellen" + +#: stock/templates/registered/addapikey.html:49 +#: stock/templates/registered/apikeymanagment.html:21 +msgid "Add Key" +msgstr "Key hinzufügen" + +#: stock/templates/registered/addoperation.html:15 +#: stock/templates/registered/addoperation.html:24 +#: stock/templates/registered/fatlinkformatter.html:13 +msgid "Create Fleet Operation" +msgstr "Flotten-Operation erstellen" + +#: stock/templates/registered/addsignature.html:8 +#: stock/templates/registered/addsignature.html:14 +#: stock/templates/registered/addsignature.html:23 +#: stock/templates/registered/signaturemanagement.html:16 +msgid "Create Signature" +msgstr "Signatur erstellen" + +#: stock/templates/registered/addtimer.html:9 +msgid "Timer Create" +msgstr "Timer erstellen" + +#: stock/templates/registered/addtimer.html:15 +#: stock/templates/registered/timermanagement.html:17 +msgid "Create Structure Timer" +msgstr "Struktur-Timer erstellen" + +#: stock/templates/registered/addtimer.html:24 +msgid "Create Timer" +msgstr "Timer erstellen" + +#: stock/templates/registered/apikeymanagment.html:8 +#: stock/templates/registered/apikeymanagment.html:18 +msgid "API Key Management" +msgstr "API Key Verwaltung" + +#: stock/templates/registered/apikeymanagment.html:16 +msgid "No api keys found" +msgstr "Keine API Key gefunden" + +#: stock/templates/registered/apikeymanagment.html:27 +msgid "API ID" +msgstr "API ID" + +#: stock/templates/registered/apikeymanagment.html:28 +msgid "API Key" +msgstr "API Key" + +#: stock/templates/registered/characters.html:7 +#: stock/templates/registered/characters.html:12 +#: stock/templates/registered/fleetup.html:28 +#: stock/templates/registered/fleetupcharacters.html:29 +#: stock/templates/registered/fleetupdoctrine.html:28 +#: stock/templates/registered/fleetupfitting.html:28 +#: stock/templates/registered/fleetupfittingsview.html:28 +#: stock/templates/registered/hrapplicationview.html:42 +msgid "Characters" +msgstr "Charaktere" + +#: stock/templates/registered/characters.html:18 +msgid "No primary character set" +msgstr "Keinen primären Charakter festgelegt" + +#: stock/templates/registered/characters.html:35 +msgid "" +"" +msgstr "" +"" + +#: stock/templates/registered/characters.html:39 +msgid "" +"" +msgstr "" +"" + +#: stock/templates/registered/characters.html:57 +msgid "Alliance: " +msgstr "Allianz: " + +#: stock/templates/registered/characters.html:59 +msgid "Corporation: " +msgstr "Corporation: " + +#: stock/templates/registered/characters.html:61 +msgid "Corporation Ticker: " +msgstr "Corporation Ticker: " + +#: stock/templates/registered/corputils.html:7 +#: stock/templates/registered/corputilssearchview.html:8 +msgid "Corporation Member Tracking" +msgstr "Corporation Mitglieder Tracking" + +#: stock/templates/registered/corputils.html:12 +msgid "Corporation Member Data" +msgstr "Corporation Mitgliedsdaten" + +#: stock/templates/registered/corputils.html:18 +#: stock/templates/registered/fleetupcharacters.html:47 +#: stock/templates/registered/hrapplicationmanagement.html:26 +#: stock/templates/registered/hrapplicationmanagement.html:81 +#: stock/templates/registered/hrapplicationmanagement.html:122 +#: stock/templates/registered/hrapplicationsearchview.html:28 +msgid "Corporation" +msgstr "Corporation" + +#: stock/templates/registered/corputils.html:26 +msgid "Ticker:" +msgstr "Ticker: " + +#: stock/templates/registered/corputils.html:28 +msgid "Member count:" +msgstr "Mitgliederzahl:" + +#: stock/templates/registered/corputils.html:30 +msgid "Player count:" +msgstr "Spieleranzahl:" + +#: stock/templates/registered/corputils.html:32 +msgid "Unregistered characters:" +msgstr "Nicht registrierte Charaktere:" + +#: stock/templates/registered/corputils.html:35 +msgid "API Index:" +msgstr "API Index:" + +#: stock/templates/registered/corputils.html:51 +msgid "Alliance corporations" +msgstr "Allianz Corporations" + +#: stock/templates/registered/corputils.html:80 +#: stock/templates/registered/corputils.html:112 +#: stock/templates/registered/corputils.html:115 +#: stock/templates/registered/corputils.html:148 +#: stock/templates/registered/corputils.html:194 +#: stock/templates/registered/corputils.html:205 +#: stock/templates/registered/corputilssearchview.html:42 +#: stock/templates/registered/corputilssearchview.html:45 +#: stock/templates/registered/corputilssearchview.html:63 +msgid "Killboard" +msgstr "Killboard" + +#: stock/templates/registered/corputils.html:89 +#: stock/templates/registered/corputilssearchview.html:29 +#: stock/templates/registered/hrapplicationmanagement.html:177 +#: stock/templates/registered/hrapplicationsearchview.html:77 +msgid "Search" +msgstr "Suche" + +#: stock/templates/registered/corputils.html:96 +msgid "Registered Main Characters" +msgstr "Registrierte Haupt Charaktere" + +#: stock/templates/registered/corputils.html:97 +msgid "Characters without API" +msgstr "Charaktere ohne API" + +#: stock/templates/registered/corputils.html:108 +msgid "Main corporation" +msgstr "Haupt Corporation" + +#: stock/templates/registered/corputils.html:109 +msgid "Character list" +msgstr "Charakterliste" + +#: stock/templates/registered/corputils.html:110 +#: stock/templates/registered/fatlinkpersonalstatisticsview.html:25 +#: stock/templates/registered/fatlinkstatisticsview.html:29 +msgid "Fats" +msgstr "" + +#: stock/templates/registered/corputils.html:113 +#: stock/templates/registered/corputilssearchview.html:43 +msgid "Fleet statistics" +msgstr " Flottenstatistic" + +#: stock/templates/registered/corputils.html:117 +#: stock/templates/registered/corputils.html:164 +#: stock/templates/registered/corputilssearchview.html:47 +#: stock/templates/registered/corputilssearchview.html:83 +msgid "API JackKnife" +msgstr "API JackKnife" + +#: stock/templates/registered/corputils.html:177 +#, python-format +msgid "" +"Seems there are no characters in %(corp.corporation_name)s tied to a " +"registered API!" +msgstr "" +"Scheint, als wären keine Charaktere zu %(corp.corporation_name)s verbunden" + +#: stock/templates/registered/corputils.html:187 +#, python-format +msgid "" +"There are atleast %(n_unacounted)s characters not accounted for in EveWho." +msgstr "" +"Es sind mindestens %(n_unacounted)s Charaktere nicht in EveWho bekannt." + +#: stock/templates/registered/corputils.html:193 +#: stock/templates/registered/corputilssearchview.html:39 +#: stock/templates/registered/fatlinkmodify.html:24 +#: stock/templates/registered/fatlinkview.html:28 +#: stock/templates/registered/fleetupcharacters.html:46 +msgid "Character" +msgstr "Charakter" + +#: stock/templates/registered/corputils.html:214 +#, python-format +msgid "" +"Good job! Every character in %(corp.corporation_name)s seem to be tied to an " +"API!" +msgstr "" +"Gut gemacht! Alle Charaktere in %(corp.corporation_name)s scheinen mit einer " +"APIverknüft zu sein!" + +#: stock/templates/registered/corputils.html:223 +msgid "No corporation model found. Contact your admin." +msgstr "Kein Corporation Model gefunden. Kontaktiere deinen Admin." + +#: stock/templates/registered/corputilssearchview.html:14 +msgid "Member Search Results" +msgstr "Mitgliedersuche Ergebnisse" + +#: stock/templates/registered/corputilssearchview.html:59 +msgid "No API registered!" +msgstr "Keine API registriert!" + +#: stock/templates/registered/discord.html:8 +#: stock/templates/registered/jabberbroadcast.html:8 +#: stock/templates/registered/jabberbroadcast.html:13 +msgid "Jabber Broadcast" +msgstr "Jabber Übertragung" + +#: stock/templates/registered/discord.html:13 +msgid "Discord Connection" +msgstr "Discordverbindung" + +#: stock/templates/registered/discord.html:19 +msgid "Account Linked" +msgstr "Account verbunden" + +#: stock/templates/registered/discord.html:21 +msgid "" +"Enter your Discord account credentials below. These are not stored: they are " +"needed to determine your user ID and make you join the server." +msgstr "" +"Gib Deine Discord Accountdaten unten an. Diese werden nicht gespeichert: sie " +"werden benötigt, um deine Nutzer ID zu ermitteln und dich mit dem Server zu " +"verbinden." + +#: stock/templates/registered/discord.html:22 +msgid "If you do not have a Discord account, please create one Link to the line members" +msgstr "" +"Gebe diesen Link den Teilnehmern" + +#: stock/templates/registered/srpfleetdata.html:15 +msgid "SRP Fleet Data" +msgstr "SRP Flotten Daten" + +#: stock/templates/registered/srpfleetdata.html:20 +msgid "Mark Incomplete" +msgstr "Als unvollständig markieren" + +#: stock/templates/registered/srpfleetdata.html:24 +msgid "Mark Completed" +msgstr "Als vollständig markieren" + +#: stock/templates/registered/srpfleetdata.html:32 +msgid "Total Losses:" +msgstr "Verluste insgesamt:" + +#: stock/templates/registered/srpfleetdata.html:34 +#: stock/templates/registered/srpmanagement.html:29 +msgid "Total ISK Cost:" +msgstr "ISK-Kosten insgesamt:" + +#: stock/templates/registered/srpfleetdata.html:39 +msgid "Pilot Name" +msgstr "Name des Piloten" + +#: stock/templates/registered/srpfleetdata.html:40 +msgid "Killboard Link" +msgstr "Killboard Link" + +#: stock/templates/registered/srpfleetdata.html:42 +msgid "Ship Type" +msgstr "Schiffstypen" + +#: stock/templates/registered/srpfleetdata.html:43 +msgid "Killboard Loss Amt" +msgstr "Summe Killboard Verluste" + +#: stock/templates/registered/srpfleetdata.html:44 +msgid "SRP ISK Cost" +msgstr "SRP ISK-Kosten" + +#: stock/templates/registered/srpfleetrequest.html:8 +msgid "SRP Request" +msgstr "SRP-Anfrage" + +#: stock/templates/registered/srpfleetrequest.html:15 +#: stock/templates/registered/srpfleetrequest.html:28 +msgid "Create SRP Request" +msgstr "Erstelle SRP-Anfrage" + +#: stock/templates/registered/srpfleetrequest.html:21 +#: stock/templates/registered/srpfleetrequestamount.html:21 +msgid "SRP Code Does Not Exist" +msgstr "SRP-Code existiert nicht" + +#: stock/templates/registered/srpfleetrequest.html:32 +msgid "SRP Request Successfully Submitted" +msgstr "SRP-Anfrage erfolgreich eingereicht" + +#: stock/templates/registered/srpfleetrequestamount.html:8 +#: stock/templates/registered/srpfleetrequestamount.html:15 +msgid "Update SRP Amount" +msgstr "Aktualisiere SRP Menge" + +#: stock/templates/registered/srpfleetrequestamount.html:27 +msgid "Update SRP Request Amount" +msgstr "Aktualisiere SPR Anfragen Menge" + +#: stock/templates/registered/srpfleetupdate.html:21 +msgid "SRP Fleet Does Not Exist" +msgstr "SRP Flotte existiert nicht" + +#: stock/templates/registered/srpmanagement.html:9 +msgid "Srp Management" +msgstr "Srp Verwaltung" + +#: stock/templates/registered/srpmanagement.html:15 +msgid "SRP Management" +msgstr "SRP Verwaltung" + +#: stock/templates/registered/srpmanagement.html:19 +msgid "View All" +msgstr "Zeige alles" + +#: stock/templates/registered/srpmanagement.html:22 +msgid "Add SRP Fleet" +msgstr "Füge SRP Flotte hinzu" + +#: stock/templates/registered/srpmanagement.html:38 +msgid "Fleet AAR" +msgstr "Flotten AAR" + +#: stock/templates/registered/srpmanagement.html:39 +msgid "Fleet SRP Code" +msgstr "Flotten SRP Code" + +#: stock/templates/registered/srpmanagement.html:40 +msgid "Fleet ISK Cost" +msgstr "Flotten ISK Kosten" + +#: stock/templates/registered/srpmanagement.html:41 +msgid "SRP Status" +msgstr "SRP Status" + +#: stock/templates/registered/srpmanagement.html:68 +msgid "Disabled" +msgstr "Deaktiviert" + +#: stock/templates/registered/srpmanagement.html:87 +#: stock/templates/registration/password_change_done.html:16 +msgid "Completed" +msgstr "Fertig" + +#: stock/templates/registered/timermanagement.html:8 +msgid "Structure Timer Management" +msgstr "Struktur-Timer Verwaltung" + +#: stock/templates/registered/timermanagement.html:13 +msgid "Structure Timers" +msgstr "Struktur-Timer" + +#: stock/templates/registered/timermanagement.html:27 +msgid "Next Timer" +msgstr "Nächster Timer" + +#: stock/templates/registered/timermanagement.html:31 +#: stock/templates/registered/timermanagement.html:133 +#: stock/templates/registered/timermanagement.html:235 timerboard/form.py:16 +msgid "Objective" +msgstr "Ziel" + +#: stock/templates/registered/timermanagement.html:51 +#: stock/templates/registered/timermanagement.html:153 +#: stock/templates/registered/timermanagement.html:256 timerboard/form.py:10 +msgid "Hostile" +msgstr "Feindlich" + +#: stock/templates/registered/timermanagement.html:56 +#: stock/templates/registered/timermanagement.html:158 +#: stock/templates/registered/timermanagement.html:261 timerboard/form.py:10 +msgid "Friendly" +msgstr "Freundlich" + +#: stock/templates/registered/timermanagement.html:61 +#: stock/templates/registered/timermanagement.html:163 +#: stock/templates/registered/timermanagement.html:266 timerboard/form.py:10 +msgid "Neutral" +msgstr "Neutral" + +#: stock/templates/registered/timermanagement.html:129 +msgid "Corp Timers" +msgstr "Corp Timer" + +#: stock/templates/registered/timermanagement.html:231 +msgid "Future Timers" +msgstr "Zukünftige Timer" + +#: stock/templates/registered/timerupdate.html:15 +#: stock/templates/registered/timerupdate.html:27 +msgid "Update Structure Timer" +msgstr "Struktur Timer aktualisieren" + +#: stock/templates/registered/timerupdate.html:21 +msgid "Structure Timer Does Not Exist" +msgstr "Struktur Timer existiert nicht" + +#: stock/templates/registration/password_change_done.html:6 +#: stock/templates/registration/password_change_form.html:5 +msgid "Password Change" +msgstr "Passwort ändern" + +#: stock/templates/registration/password_reset_complete.html:49 +msgid "Password reset complete" +msgstr "Passwort wurde zurückgesetzt" + +#: stock/templates/registration/password_reset_complete.html:51 +msgid "Your password has been set." +msgstr "Passwort wurde gesetzt" + +#: stock/templates/registration/password_reset_confirm.html:58 +msgid "Password reset unsuccessful" +msgstr "Passwort Zurücksetzen Fehlgeschlagen" + +#: stock/templates/registration/password_reset_confirm.html:60 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Der Link zum Rücksetzen des Passworts ist ungültig, weil er möglischerweise " +"schon benutzt wurde. Bitte beantrage einen Neuen" + +#: stock/templates/registration/password_reset_done.html:45 +msgid "Password Reset Success" +msgstr "Passwort Zurücksetzten Erfolgreich" + +#: stock/templates/registration/password_reset_done.html:47 +msgid "" +"We've emailed you instructions for setting your password. You should be " +"receiving them shortly." +msgstr "" +"Wir haben dir eine Email mit Anweisungen um dein Passwort zu setzen " +"gesendet. Du solltest diesen in Kürze erhalten" + +#: stock/templates/registration/password_reset_done.html:49 +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Falls du keine E-Mail erhalten haben solltest, stelle sicher, dass du die E-" +"Mail Adresse eingegeben hast, mit der du dich registriert hast und überprüfe " +"deinen Spam Ordner" + +#: stock/templates/registration/password_reset_email.html:2 +msgid "" +"You're receiving this email because you requested a password reset for your\n" +" user account." +msgstr "" +"Du erhälst diese E-Mail, weil du das Zurücksetzen deines Passworts für dein " +"Benutzerkonto angefordert hast." + +#: stock/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Bitte besuche die folgende Seite und wähle ein neues Passwort" + +#: stock/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Dein Benutzername, falls du ihn vergessen haben solltest, lautet:" + +#: stock/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "Vielen dank, dass du unsere Seite nutzt!" + +#: stock/templates/registration/password_reset_email.html:13 +msgid "Your IT Team" +msgstr "Euer IT Team" + +#: stock/templates/registration/password_reset_form.html:51 +msgid "Password Reset" +msgstr "Passwort zurücksetzen" + +#: stock/templates/registration/password_reset_form.html:53 +msgid "Forgotten your password? Enter your email below." +msgstr "Hast du dein Passwort vergessen? Gib unten deine Email-Adresse ein." + +#: stock/templates/registration/password_reset_form.html:56 +msgid "Reset Password" +msgstr "Passwort zurücksetzen" + +#: timerboard/form.py:9 +msgid "Other" +msgstr "anderes" + +#: timerboard/form.py:14 +msgid "Planet/Moon" +msgstr "Planet/Mond" + +#: timerboard/form.py:15 +msgid "Structure Type" +msgstr "Struktur-Timer" + +#: timerboard/form.py:17 +msgid "Days Remaining" +msgstr "Tage Verbleibend" + +#: timerboard/form.py:18 +msgid "Hours Remaining" +msgstr "Stunden Verbleibend" + +#: timerboard/form.py:19 +msgid "Minutes Remaining" +msgstr "Minuten Verbleibend" + +#: timerboard/form.py:20 +msgid "Important" +msgstr "Wichtig" + +#: timerboard/form.py:21 +msgid "Corp-Restricted" +msgstr "Corp-beschränkt" + + + diff --git a/optimer/form.py b/optimer/form.py index d85e7e25..fbf15e13 100644 --- a/optimer/form.py +++ b/optimer/form.py @@ -1,18 +1,16 @@ from django import forms from django.core.validators import MaxValueValidator, MinValueValidator +from django.utils.translation import ugettext_lazy as _ class opForm(forms.Form): - doctrine = forms.CharField(max_length=254, required=True, label='Doctrine') - system = forms.CharField(max_length=254, required=True, label="System") - location = forms.CharField(max_length=254, required=True, label="Location") - start = forms.DateTimeField(required=True, label="Start Time") - duration = forms.CharField(max_length=254, required=True, label="Duration") - operation_name = forms.CharField(max_length=254, required=True, label="Operation Name") - fc = forms.CharField(max_length=254, required=True, label="Fleet Commander") - details = forms.CharField(max_length=254, required=False, label="Extra Details") - - - + doctrine = forms.CharField(max_length=254, required=True, label=_('Doctrine')) + system = forms.CharField(max_length=254, required=True, label=_("System")) + location = forms.CharField(max_length=254, required=True, label=_("Location")) + start = forms.DateTimeField(required=True, label=_("Start Time")) + duration = forms.CharField(max_length=254, required=True, label=_("Duration")) + operation_name = forms.CharField(max_length=254, required=True, label=_("Operation Name")) + fc = forms.CharField(max_length=254, required=True, label=_("Fleet Commander")) + details = forms.CharField(max_length=254, required=False, label=_("Extra Details")) diff --git a/registration/forms.py b/registration/forms.py index 8fcea113..f0a39931 100644 --- a/registration/forms.py +++ b/registration/forms.py @@ -1,5 +1,6 @@ from django import forms from django.contrib.auth.models import User +from django.utils.translation import ugettext_lazy as _ import re import logging @@ -7,11 +8,11 @@ import logging logger = logging.getLogger(__name__) class RegistrationForm(forms.Form): - username = forms.CharField(max_length=30, required=True) - password = forms.CharField(widget=forms.PasswordInput(), required=True) - password_again = forms.CharField(widget=forms.PasswordInput(), required=True, label="Password Again") - email = forms.CharField(max_length=254, required=True) - email_again = forms.CharField(max_length=254, required=True, label="Email Again") + username = forms.CharField(label=_('Username'), max_length=30, required=True) + password = forms.CharField(label=_('Password'), widget=forms.PasswordInput(), required=True) + password_again = forms.CharField(label=_('Password Again'), widget=forms.PasswordInput(), required=True) + email = forms.CharField(label=_('Email'), max_length=254, required=True) + email_again = forms.CharField(label=_('Email Again'), max_length=254, required=True) def clean(self): if ' ' in self.cleaned_data['username']: diff --git a/registration/views.py b/registration/views.py index 929b988f..06e22cc3 100644 --- a/registration/views.py +++ b/registration/views.py @@ -2,6 +2,7 @@ from django.contrib.auth.models import User from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext +from django.utils import translation from forms import RegistrationForm @@ -36,4 +37,4 @@ def register_user_view(request): logger.debug("Returning blank registration form.") form = RegistrationForm() - return render_to_response('public/register.html', {'form': form}, context_instance=RequestContext(request)) + return render_to_response('public/register.html', {'form': form}, context_instance=RequestContext(request)) \ No newline at end of file diff --git a/services/forms.py b/services/forms.py index ada5347d..19501a29 100644 --- a/services/forms.py +++ b/services/forms.py @@ -1,36 +1,37 @@ from django import forms from services.managers.teamspeak3_manager import Teamspeak3Manager +from django.utils.translation import ugettext_lazy as _ class JabberBroadcastForm(forms.Form): - group = forms.ChoiceField(widget=forms.Select) - message = forms.CharField(widget=forms.Textarea) + group = forms.ChoiceField(label=_('Group'), widget=forms.Select) + message = forms.CharField(label=_('Message'), widget=forms.Textarea) class FleetFormatterForm(forms.Form): - fleet_name = forms.CharField(label='Name of Fleet:', required=True) - fleet_commander = forms.CharField(label='Fleet Commander:', required=True) - fleet_comms = forms.CharField(label='Fleet Comms:', required=True) - fleet_type = forms.CharField(label='Fleet Type:', required=True) - ship_priorities = forms.CharField(label='Ship Priorities:', required=True) - formup_location = forms.CharField(label='Formup Location:', required=True) - formup_time = forms.CharField(label='Formup Time:', required=True) - expected_duration = forms.CharField(label='Expected Duration:', required=True) - purpose = forms.CharField(label='Purpose:', required=True) - reimbursable = forms.ChoiceField(label='Reimbursable?*', choices=[('Yes', 'Yes'), ('No', 'No')], required=True) - important = forms.ChoiceField(label='Important?*', choices=[('Yes', 'Yes'), ('No', 'No')], required=True) - comments = forms.CharField(widget=forms.Textarea, required=False) + fleet_name = forms.CharField(label=_('Name of Fleet:'), required=True) + fleet_commander = forms.CharField(label=_('Fleet Commander:'), required=True) + fleet_comms = forms.CharField(label=_('Fleet Comms:'), required=True) + fleet_type = forms.CharField(label=_('Fleet Type:'), required=True) + ship_priorities = forms.CharField(label=_('Ship Priorities:'), required=True) + formup_location = forms.CharField(label=_('Formup Location:'), required=True) + formup_time = forms.CharField(label=_('Formup Time:'), required=True) + expected_duration = forms.CharField(label=_('Expected Duration:'), required=True) + purpose = forms.CharField(label=_('Purpose:'), required=True) + reimbursable = forms.ChoiceField(label=_('Reimbursable?*'), choices=[(_('Yes'), _('Yes')), (_('No'), _('No'))], required=True) + important = forms.ChoiceField(label=_('Important?*'), choices=[(_('Yes'), _('Yes')), (_('No'), _('No'))], required=True) + comments = forms.CharField(label=_('Comments'), widget=forms.Textarea, required=False) class DiscordForm(forms.Form): - email = forms.CharField(label="Email Address", required=True) - password = forms.CharField(label="Password", required=True, widget=forms.PasswordInput) - update_avatar = forms.BooleanField(label="Update Avatar", required=False, initial=True) + email = forms.CharField(label=_("Email Address"), required=True) + password = forms.CharField(label=_("Password"), required=True, widget=forms.PasswordInput) + update_avatar = forms.BooleanField(label=_("Update Avatar"), required=False, initial=True) class ServicePasswordForm(forms.Form): - password = forms.CharField(label="Password", required=True) + password = forms.CharField(label=_("Password"), required=True) def clean_password(self): password = self.cleaned_data['password'] if not len(password) >= 8: - raise forms.ValidationError("Password must be at least 8 characters long.") + raise forms.ValidationError(_("Password must be at least 8 characters long.")) return password class TeamspeakJoinForm(forms.Form): @@ -39,4 +40,4 @@ class TeamspeakJoinForm(forms.Form): def clean(self): if Teamspeak3Manager._get_userid(self.cleaned_data['username']): return self.cleaned_data - raise forms.ValidationError("Unable to locate user %s on server" % self.cleaned_data['username']) + raise forms.ValidationError(_("Unable to locate user %s on server") % self.cleaned_data['username']) diff --git a/sigtracker/form.py b/sigtracker/form.py index 9fd3b49a..7817a581 100644 --- a/sigtracker/form.py +++ b/sigtracker/form.py @@ -1,22 +1,22 @@ from django import forms from django.core.validators import MaxValueValidator, MinValueValidator - +from django.utils.translation import ugettext_lazy as _ class SignatureForm(forms.Form): - mass_status = [('More Than 50%', 'More Than 50%'), ('Less Than 50%', 'Less Than 50%'), ('Less Than 10%', 'Less Than 10%')] - lifetime_status = [('More Than 24 Hours', 'More Than 24 Hours'), ('Less Than 24 Hours', 'Less Than 24 Hours'), ('Less Than 4 Hours', 'Less Than 4 Hours')] - ships_size = [('Only Smallest', 'Only Smallest'), ('Up to Medium', 'Up to Medium'), ('Larger', 'Larger'), ('Very Large', 'Very Large')] + mass_status = [(_('More Than 50%'), _('More Than 50%')), (_('Less Than 50%'), _('Less Than 50%')), (_('Less Than 10%'), _('Less Than 10%'))] + lifetime_status = [(_('More Than 24 Hours'), _('More Than 24 Hours')), (_('Less Than 24 Hours'), _('Less Than 24 Hours')), (_('Less Than 4 Hours'), _('Less Than 4 Hours'))] + ships_size = [(_('Only Smallest'), _('Only Smallest')), (_('Up to Medium'), _('Up to Medium')), (_('Larger'), _('Larger')), (_('Very Large'), _('Very Large'))] - system = forms.CharField(max_length=254, required=True, label='System') - ident = forms.CharField(max_length=254, required=True, label="ID") - lifetime_status = forms.ChoiceField(choices=lifetime_status, required=True, label="Lifetime Status") - mass_status = forms.ChoiceField(choices=mass_status, required=True, label="Mass Status") - ships_size = forms.ChoiceField(choices=ships_size, required=True, label="Ship Size") - destination = forms.CharField(max_length=254, label="End Destination", required=True, initial="") - through_dest = forms.CharField(max_length=254, label="Goes Through", required=True, initial="") - notes = forms.CharField(max_length=254, label="Notes", required=False, initial="") + system = forms.CharField(max_length=254, required=True, label=_('System')) + ident = forms.CharField(max_length=254, required=True, label=_("ID")) + lifetime_status = forms.ChoiceField(choices=lifetime_status, required=True, label=_("Lifetime Status")) + mass_status = forms.ChoiceField(choices=mass_status, required=True, label=_("Mass Status")) + ships_size = forms.ChoiceField(choices=ships_size, required=True, label=_("Ship Size")) + destination = forms.CharField(max_length=254, label=_("End Destination"), required=True, initial="") + through_dest = forms.CharField(max_length=254, label=_("Goes Through"), required=True, initial="") + notes = forms.CharField(max_length=254, label=_("Notes"), required=False, initial="") diff --git a/srp/form.py b/srp/form.py index 4754d517..4cc64ac3 100755 --- a/srp/form.py +++ b/srp/form.py @@ -1,17 +1,17 @@ from django import forms - +from django.utils.translation import ugettext_lazy as _ class SrpFleetMainForm(forms.Form): - fleet_name = forms.CharField(required=True, label="Fleet Name") - fleet_time = forms.DateTimeField(required=True, label="Fleet Time") - fleet_doctrine = forms.CharField(required=True, label="Fleet Doctrine") + fleet_name = forms.CharField(required=True, label=_("Fleet Name")) + fleet_time = forms.DateTimeField(required=True, label=_("Fleet Time")) + fleet_doctrine = forms.CharField(required=True, label=_("Fleet Doctrine")) class SrpFleetUserRequestForm(forms.Form): - additional_info = forms.CharField(required=False, max_length=25, label="Additional Info") + additional_info = forms.CharField(required=False, max_length=25, label=_("Additional Info")) killboard_link = forms.CharField( - label="zKillboard Link", + label=_("zKillboard Link"), max_length=255, required=True @@ -25,8 +25,9 @@ class SrpFleetUserRequestForm(forms.Form): class SrpFleetUpdateCostForm(forms.Form): - srp_total_amount = forms.IntegerField(required=True, label="Total SRP Amount") + srp_total_amount = forms.IntegerField(required=True, label=_("Total SRP Amount")) class SrpFleetMainUpdateForm(forms.Form): - fleet_aar_link = forms.CharField(required=True, label="After Action Report Link") + fleet_aar_link = forms.CharField(required=True, label=_("After Action Report Link")) + diff --git a/stock/templates/public/base.html b/stock/templates/public/base.html index a7a5764f..b927bc7e 100755 --- a/stock/templates/public/base.html +++ b/stock/templates/public/base.html @@ -1,5 +1,5 @@ {% load staticfiles %} - +{% load i18n %} @@ -23,6 +23,13 @@ .grayiconecolor { color: #505050; } + #lang_select { + margin-right: 25px; + } + + #f_lang_select { + margin-right: 5px; + } @@ -47,6 +54,21 @@ + diff --git a/stock/templates/registered/addapikey.html b/stock/templates/registered/addapikey.html index eba2a93c..2a3382a6 100644 --- a/stock/templates/registered/addapikey.html +++ b/stock/templates/registered/addapikey.html @@ -1,6 +1,7 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} @@ -9,43 +10,43 @@ {% block content %}
-

Add Api Key

+

{% trans "Add Api Key" %}

- Member API keys require access mask {{MEMBER_API_MASK}} or greater for services. + {% blocktrans %}Member API keys require access mask {{MEMBER_API_MASK}} or greater for services.{% endblocktrans %}

{% if MEMBER_API_ACCOUNT %}

- Member API keys need to be account-wide. + {% trans "Member API keys need to be account-wide." %}

{% endif %}

- Create - a full API key + a full API key{% endblocktrans %}

- Blue API keys require access mask {{BLUE_API_MASK}} or greater for services. + {% blocktrans %}Blue API keys require access mask {{BLUE_API_MASK}} or greater for services.{% endblocktrans %}

{% if BLUE_API_ACCOUNT %}

- BLUE API keys need to be account-wide. + {% trans "BLUE API keys need to be account-wide." %}

{% endif %}

- Create - a blue key + a blue key{% endblocktrans %}

diff --git a/stock/templates/registered/addoperation.html b/stock/templates/registered/addoperation.html index c1bc0340..fce55182 100644 --- a/stock/templates/registered/addoperation.html +++ b/stock/templates/registered/addoperation.html @@ -1,16 +1,18 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} +{% get_current_language as LANGUAGE_CODE %} {% block title %}Alliance Auth - Fleet Operation Create{% endblock %} -{% block page_title %}Create Operation{% endblock page_title %} +{% block page_title %}{% trans "Create Operation" %}{% endblock page_title %} {% block extra_css %} {% endblock extra_css %} {% block content %}
-

Create Fleet Operation

+

{% trans "Create Fleet Operation" %}

@@ -19,7 +21,7 @@ {% csrf_token %} {{ form|bootstrap }}
- +
@@ -31,6 +33,7 @@ {% block extra_script %} $('#id_start').datetimepicker({ + lang: '{{ LANGUAGE_CODE }}', maskInput: true, format: 'Y-m-d H:i',minDate:0 }); diff --git a/stock/templates/registered/addsignature.html b/stock/templates/registered/addsignature.html index 1fba2c55..d23772a6 100644 --- a/stock/templates/registered/addsignature.html +++ b/stock/templates/registered/addsignature.html @@ -1,16 +1,17 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth - Signature Create{% endblock %} -{% block page_title %}Create Signature{% endblock page_title %} +{% block page_title %}{% trans "Create Signature" %}{% endblock page_title %} {% block extra_css %} {% endblock extra_css %} {% block content %}
-

Create Signature

+

{% trans "Create Signature" %}

@@ -19,7 +20,7 @@ {% csrf_token %} {{ form|bootstrap }}
- +
diff --git a/stock/templates/registered/addtimer.html b/stock/templates/registered/addtimer.html index 53939938..230bbadb 100755 --- a/stock/templates/registered/addtimer.html +++ b/stock/templates/registered/addtimer.html @@ -1,16 +1,18 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} +{% get_current_language as LANGUAGE_CODE %} {% block title %}Alliance Auth - Structure Timer Create{% endblock %} -{% block page_title %}Timer Create{% endblock page_title %} +{% block page_title %}{% trans "Timer Create" %}{% endblock page_title %} {% block extra_css %} {% endblock extra_css %} {% block content %}
-

Create Structure Timer

+

{% trans "Create Structure Timer" %}

@@ -19,7 +21,7 @@ {% csrf_token %} {{ form|bootstrap }}
- +
@@ -31,6 +33,7 @@ {% block extra_script %} $('#id_eve_time').datetimepicker({ + lang: '{{ LANGUAGE_CODE }}', maskInput: true, format: 'Y-m-d H:i',minDate:0 }); diff --git a/stock/templates/registered/apikeymanagment.html b/stock/templates/registered/apikeymanagment.html index 6fbd4092..59d23f47 100644 --- a/stock/templates/registered/apikeymanagment.html +++ b/stock/templates/registered/apikeymanagment.html @@ -1,10 +1,11 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}API Key Management{% endblock page_title %} +{% block page_title %}{% trans "API Key Management" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %} @@ -12,20 +13,20 @@
{% if apikeypairs %} {% else %} - + {% endif %} -

API Key Management +

{% trans "API Key Management" %}

- - - + + + {% for pair in apikeypairs %} diff --git a/stock/templates/registered/characters.html b/stock/templates/registered/characters.html index e51931c2..f4d23511 100755 --- a/stock/templates/registered/characters.html +++ b/stock/templates/registered/characters.html @@ -1,20 +1,21 @@ {% extends "public/base.html" %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Characters{% endblock page_title %} +{% block page_title %}{% trans "Characters" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
-

Characters

+

{% trans "Characters" %}

{% if authinfo.main_char_id %} {% else %} - + {% endif %}
-

Alliance: {{ character.alliance_name }}

+

{% trans "Alliance: " %} {{ character.alliance_name }}

-

Corporation: {{ character.corporation_name }}

+

{% trans "Corporation: " %}{{ character.corporation_name }}

-

Corporation Ticker: {{ character.corporation_ticker }}

+

{% trans "Corporation Ticker: " %} {{ character.corporation_ticker }}

diff --git a/stock/templates/registered/corputils.html b/stock/templates/registered/corputils.html index 81cadfdc..933a2d8b 100644 --- a/stock/templates/registered/corputils.html +++ b/stock/templates/registered/corputils.html @@ -1,20 +1,21 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Corporation Member Tracking{% endblock page_title %} +{% block page_title %}{% trans "Corporation Member Tracking" %}{% endblock page_title %} {% block content %}
-

Corporation Member Data

+

{% trans "Corporation Member Data" %}

{% if corp %}
-
Corporation
+
{% trans "Corporation" %}
@@ -22,16 +23,16 @@

{{ corp.corporation_name }}

-

Ticker: {{ corp.corporation_ticker }}

+

{% trans "Ticker:" %} {{ corp.corporation_ticker }}

-

Member count: {{ corp.member_count }}

+

{% trans "Member count:" %} {{ corp.member_count }}

-

Player count: {{characters_with_api|length}}

+

{% trans "Player count:" %} {{characters_with_api|length}}

-

Unregistered characters: {{characters_without_api|length|add:n_unacounted}}

+

{% trans "Unregistered characters:" %} {{characters_without_api|length|add:n_unacounted}}

- API Index: + {% trans "API Index:" %}
{{n_registered}}/{{ corp.member_count }} @@ -47,11 +48,11 @@
- +
@@ -103,17 +104,17 @@
API IDAPI KeyAction{% trans "API ID" %}{% trans "API Key" %}{% trans "Action" %}
- - - - + + + + {% if perms.auth.fleetactivitytracking_statistics %} - - + + {% else %} - + {% endif %} - + {% for maincharname, player in characters_with_api %} @@ -144,7 +145,7 @@ {% if perms.auth.fleetactivitytracking %} @@ -160,7 +161,7 @@

-

@@ -173,7 +174,7 @@ {% else %} {% endif %} @@ -183,14 +184,14 @@
{% if 0 < n_unacounted %} {% endif %}
Main characterMain corporationCharacter listFats{% trans "Main character" %}{% trans "Main corporation" %}{% trans "Character list" %}{% trans "Fats" %}KillboardFleet statistics{% trans "Killboard" %}{% trans "Fleet statistics" %}Killboard{% trans "Killboard" %}API JackKnife{% trans "API JackKnife" %}
{% for char in player.altlist %} -

Killboard

+

{% trans "Killboard" %}

{% endfor %}
- - + + {% for character_name, character_id in characters_without_api %} @@ -201,7 +202,7 @@

{{ character_name }}

{% endfor %} @@ -210,7 +211,7 @@ {% else %} {% endif %} @@ -219,7 +220,7 @@
- +
diff --git a/stock/templates/registered/corputilssearchview.html b/stock/templates/registered/corputilssearchview.html index bfb214cc..f28c3217 100644 --- a/stock/templates/registered/corputilssearchview.html +++ b/stock/templates/registered/corputilssearchview.html @@ -1,16 +1,17 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Corporation Member Tracking{% endblock page_title %} +{% block page_title %}{% trans "Corporation Member Tracking" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
{% if perms.auth.corputils %} -

Member Search Results +

{% trans "Member Search Results" %}

{{ corp.corporation_name }}

@@ -25,7 +26,7 @@ {% csrf_token %} {{ search_form.as_table }}
- + @@ -35,15 +36,15 @@
CharacterKillboard{% trans "Character" %}{% trans "Killboard" %}
- Killboard + {% trans "Killboard" %}
- - + + {% if perms.auth.fleetactivitytracking%} - - + + {% else %} - + {% endif %} - + {% for result in results %} @@ -55,11 +56,11 @@ {% if result.api_registered%} {{ result.main.character_name }} {% else %} - No API registered! + {% trans "No API registered!" %} {% endif %} {% if perms.auth.fleetactivitytracking %} @@ -79,7 +80,7 @@ {% if result.api_registered %} - {% endif %} diff --git a/stock/templates/registered/dashboard.html b/stock/templates/registered/dashboard.html index db1b1071..50431be4 100644 --- a/stock/templates/registered/dashboard.html +++ b/stock/templates/registered/dashboard.html @@ -1,11 +1,12 @@ {% extends "public/base.html" %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Dashboard{% endblock page_title %} +{% block page_title %}{% trans "Dashboard" %}{% endblock page_title %} {% block content %}
-

Dashboard

+

{% trans "Dashboard" %}

{% if perms.auth.member %}
@@ -15,7 +16,7 @@ {% for character in characters %} {% ifequal character.character_id authinfo.main_char_id %}
-
Main character
+
{% trans "Main character" %}
-
Groups
+
{% trans "Groups" %}
CharacterMain character{% trans "Character" %}{% trans "Main character" %}KillboardFleet statistics{% trans "Killboard" %}{% trans "Fleet statistics" %}Killboard{% trans "Killboard" %}API JackKnife{% trans "API JackKnife" %}
-

Killboard

+

{% trans "Killboard" %}

@@ -60,9 +61,9 @@ {% else %} {% if IS_CORP %} - + {% else %} - + {% endif %} {% endif %} diff --git a/stock/templates/registered/discord.html b/stock/templates/registered/discord.html index 7dbb50b3..08fb9402 100644 --- a/stock/templates/registered/discord.html +++ b/stock/templates/registered/discord.html @@ -1,30 +1,31 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Jabber Broadcast{% endblock page_title %} +{% block page_title %}{% trans "Jabber Broadcast" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
-

Discord Connection

+

{% trans "Discord Connection" %}

{% if success %} - + {% endif %} -

Enter your Discord account credentials below. These are not stored: they are needed to determine your user ID and make you join the server.

-

If you do not have a Discord account, please create one on their site and report back with the credentials.

+

{% trans "Enter your Discord account credentials below. These are not stored: they are needed to determine your user ID and make you join the server." %}

+

{% trans "If you do not have a Discord account, please create one on their site and report back with the credentials." %}

{% csrf_token %} {{ form|bootstrap }}
- +
diff --git a/stock/templates/registered/fatlinkformatter.html b/stock/templates/registered/fatlinkformatter.html index e94b4b85..b6ebcab5 100644 --- a/stock/templates/registered/fatlinkformatter.html +++ b/stock/templates/registered/fatlinkformatter.html @@ -4,17 +4,17 @@ {% block title %}Alliance Auth - Fatlink Create{% endblock %} -{% block page_title %}Create Fatlink{% endblock page_title %} +{% block page_title %}{% trans "Create Fatlink" %}{% endblock page_title %} {% block extra_css %} {% endblock extra_css %} {% block content %}
-

Create Fleet Operation

+

{% trans "Create Fleet Operation" %}

{% if badrequest %} - + {% endif %} {% for message in errormessages %} @@ -25,7 +25,7 @@ {% csrf_token %} {{ form|bootstrap }}
- +
diff --git a/stock/templates/registered/fatlinkmodify.html b/stock/templates/registered/fatlinkmodify.html index 3f37b979..3f08bb85 100644 --- a/stock/templates/registered/fatlinkmodify.html +++ b/stock/templates/registered/fatlinkmodify.html @@ -1,29 +1,30 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Fatlink view{% endblock page_title %} +{% block page_title %}{% trans "Fatlink view" %}{% endblock page_title %} {% block content %}
-

Edit fatlink "{{ fatlink.name }}" +

{% blocktrans %}Edit fatlink "{{ fatlink.name }}"{% endblocktrans %}

-

Registered characters

+

{% trans "Registered characters" %}

- - - - - + + + + + {% for fat in registered_fats %} diff --git a/stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html b/stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html index f5a9ec1a..1255d3b7 100644 --- a/stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html +++ b/stock/templates/registered/fatlinkpersonalmonthlystatisticsview.html @@ -1,29 +1,30 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Personal fatlink statistics{% endblock page_title %} +{% block page_title %}{% trans "Personal fatlink statistics" %}{% endblock page_title %} {% block content %}
-

Participation data statistics for {{ month }}, {{ year }} +

{% trans "Participation data statistics for" %} {{ month }}, {{ year }} {% if char_id %} {% endif %}

-

{{ user }} has collected {{ n_fats }} links this month.

+

{% blocktrans %}{{ user }} has collected {{ n_fats }} links this month.{% endblocktrans %}

UserCharacterSystemShipEve Time{% trans "User" %}{% trans "Character" %}{% trans "System" %}{% trans "Ship" %}{% trans "Eve Time" %}
- - + + {% for ship, n_fats in shipStats %} @@ -33,15 +34,15 @@ {% endfor %}
ShipTimes used{% trans "Ship" %}{% trans "Times used" %}
{% if created_fats %} -

{{ user }} has created {{ n_created_fats }} links this month.

+

{% blocktrans %}{{ user }} has created {{ n_created_fats }} links this month.{% endblocktrans %}

- - - - - - + + + + + + {% for link in created_fats %} diff --git a/stock/templates/registered/fatlinkpersonalstatisticsview.html b/stock/templates/registered/fatlinkpersonalstatisticsview.html index 7137f254..b9c3e16b 100644 --- a/stock/templates/registered/fatlinkpersonalstatisticsview.html +++ b/stock/templates/registered/fatlinkpersonalstatisticsview.html @@ -3,26 +3,26 @@ {% load staticfiles %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Personal fatlink statistics{% endblock page_title %} +{% block page_title %}{% trans "Personal fatlink statistics" %}{% endblock page_title %} {% block content %}
-

Participation data statistics for {{ year }} +

{% trans "Participation data statistics for" %} {{ year }}

NameCreatorFleetEve TimeDurationEdit{% trans "Name" %}{% trans "Creator" %}{% trans "Fleet" %}{% trans "Eve Time" %}{% trans "Duration" %}{% trans "Edit" %}
- - + + {% for monthnr, month, n_fats in monthlystats %} diff --git a/stock/templates/registered/fatlinkstatisticsview.html b/stock/templates/registered/fatlinkstatisticsview.html index c3f0a2dd..6c143abb 100644 --- a/stock/templates/registered/fatlinkstatisticsview.html +++ b/stock/templates/registered/fatlinkstatisticsview.html @@ -1,20 +1,21 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Fatlink statistics{% endblock page_title %} +{% block page_title %}{% trans "Fatlink statistics" %}{% endblock page_title %} {% block content %}
-

Participation data statistics for {{ month }}, {{ year }} +

{% blocktrans %}Participation data statistics for {{ month }}, {{ year }}{% endblocktrans %} @@ -22,11 +23,11 @@

MonthFats{% trans "Month" %}{% trans "Fats" %}
- - - - - + + + + + {% for corpStat in fatStats %} diff --git a/stock/templates/registered/fatlinkview.html b/stock/templates/registered/fatlinkview.html index a8bcd63d..e658dfa5 100644 --- a/stock/templates/registered/fatlinkview.html +++ b/stock/templates/registered/fatlinkview.html @@ -1,33 +1,34 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Fatlink view{% endblock page_title %} +{% block page_title %}{% trans "Fatlink view" %}{% endblock page_title %} {% block content %}
-

Participation data

+

{% trans "Participation data" %}

TickerCorpMembersFatsAverage fats{% trans "Ticker" %}{% trans "Corp" %}{% trans "Members" %}{% trans "Fats" %}{% trans "Average fats" %}
-

Most recent clicked fatlinks +

{% trans "Most recent clicked fatlinks" %}

- +
- - - - - + + + + + {% for fat in fats %} @@ -48,29 +49,29 @@
fatnameCharacterSystemShipEve Time{% trans "fatname" %}{% trans "Character" %}{% trans "System" %}{% trans "Ship" %}{% trans "Eve Time" %}
-

Most recent fatlinks +

{% trans "Most recent fatlinks" %}

- + - +
- - - - - - + + + + + + {% for link in fatlinks %} diff --git a/stock/templates/registered/fleetfits.html b/stock/templates/registered/fleetfits.html index 47b59748..866b6054 100644 --- a/stock/templates/registered/fleetfits.html +++ b/stock/templates/registered/fleetfits.html @@ -1,10 +1,11 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Alliance Fleet Doctrines{% endblock page_title %} +{% block page_title %}{% trans "Alliance Fleet Doctrines" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %} diff --git a/stock/templates/registered/fleetformattertool.html b/stock/templates/registered/fleetformattertool.html index ad6e72da..74ae3bc9 100644 --- a/stock/templates/registered/fleetformattertool.html +++ b/stock/templates/registered/fleetformattertool.html @@ -1,15 +1,16 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Fleet Formatter Tool{% endblock page_title %} +{% block page_title %}{% trans "Fleet Formatter Tool" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
-

Fleet Broadcast Formatter Tool

+

{% trans "Fleet Broadcast Formatter Tool" %}

@@ -22,7 +23,7 @@ {% csrf_token %} {{ form|bootstrap }}
- +
diff --git a/stock/templates/registered/fleetup.html b/stock/templates/registered/fleetup.html index df0d5243..31620552 100644 --- a/stock/templates/registered/fleetup.html +++ b/stock/templates/registered/fleetup.html @@ -1,6 +1,7 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} {% block page_title %}FleetUp{% endblock page_title %} @@ -11,20 +12,20 @@
NameCreatorFleetEve TimeDurationEdit{% trans "Name" %}{% trans "Creator" %}{% trans "Fleet" %}{% trans "Eve Time" %}{% trans "Duration" %}{% trans "Edit" %}
- - + + - + - + @@ -68,10 +69,10 @@
StartEnd{% trans "Start" %}{% trans "End" %}
{{ start.start|date:"l d M H:i" }} Eve Time{{ start.start|date:"l d M H:i" }} {% trans "Eve Time" %}{{ start.end|date:"l d M H:i" }} Eve Time{{ start.end|date:"l d M H:i" }} {% trans "Eve Time" %}
- - - - + + + + @@ -106,13 +107,13 @@ {% endfor %} {% else %} -

There seems to be no Operations in the near future, go make ISK!

+

{% trans "There seems to be no Operations in the near future, go make ISK!" %}

{% endif %}
-

Current Eve Time:

+

{% trans "Current Eve Time:" %}

@@ -121,7 +122,7 @@ {% if timers_list %}
-

Timers

+

{% trans "Timers" %}

LocationDoctrineOrganizerURL{% trans "Location" %}{% trans "Doctrine" %}{% trans "Organizer" %}{% trans "URL" %}
@@ -86,7 +87,7 @@ {% endfor %} {% else %} - TBA + {% trans "TBA" %} {% endif %} @@ -94,9 +95,9 @@ {% ifequal start.url "" %} -
No link
+
{% trans "No link" %}
{% else %} - External link + {% trans "External link" %} {% endifequal %}
@@ -146,18 +147,18 @@ {% if timers_list %}
-

Timers

+

{% trans "Timers" %}

- - - - - - + + + + + + {% for notes, type in timers_list %} @@ -188,7 +189,7 @@ {% else %} -

There seems to be no Timers in the near future, this does not mean there isn't any!

+

{% trans "There seems to be no Timers in the near future, this does not mean there isn't any!" %}

{% endif %} diff --git a/stock/templates/registered/fleetupcharacters.html b/stock/templates/registered/fleetupcharacters.html index f5b6a6fa..a10f9e9b 100644 --- a/stock/templates/registered/fleetupcharacters.html +++ b/stock/templates/registered/fleetupcharacters.html @@ -1,6 +1,7 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} {% block page_title %}FleetUp{% endblock page_title %} @@ -12,7 +13,7 @@
TypeStructureLocationExpires(EVE-time)OwnerNote{% trans "Type" %}{% trans "Structure" %}{% trans "Location" %}{% trans "Expires(EVE-time)" %}{% trans "Owner" %}{% trans "Note" %}
- - + + {% for char_name, user_id in member_list %} diff --git a/stock/templates/registered/fleetupdoctrine.html b/stock/templates/registered/fleetupdoctrine.html index 1ad3a2a8..dd1ff496 100644 --- a/stock/templates/registered/fleetupdoctrine.html +++ b/stock/templates/registered/fleetupdoctrine.html @@ -1,6 +1,7 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} {% block page_title %}FleetUp - Doctrine{% endblock page_title %} @@ -11,7 +12,7 @@
CharacterCorporation{% trans "Character" %}{% trans "Corporation" %} Fleet-Up(id)
- - - - - - + + + + + + {% for item in Role.list %} diff --git a/stock/templates/registered/fleetupdoctrinesview.html b/stock/templates/registered/fleetupdoctrinesview.html index 5544ae9f..568bd6f8 100644 --- a/stock/templates/registered/fleetupdoctrinesview.html +++ b/stock/templates/registered/fleetupdoctrinesview.html @@ -1,6 +1,7 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} {% block page_title %}FleetUp{% endblock page_title %} @@ -11,7 +12,7 @@
NameRoleHull typeShip typeEstimated ISKCategories{% trans "Name" %}{% trans "Role" %}{% trans "Hull type" %}{% trans "Ship type" %}{% trans "Estimated ISK" %}{% trans "Categories" %}
- - - + + + diff --git a/stock/templates/registered/fleetupfitting.html b/stock/templates/registered/fleetupfitting.html index 32f462aa..fea33765 100644 --- a/stock/templates/registered/fleetupfitting.html +++ b/stock/templates/registered/fleetupfitting.html @@ -1,9 +1,10 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}FleetUp - Doctrine{% endblock page_title %} +{% block page_title %}{% trans "FleetUp - Doctrine" %}{% endblock page_title %} {% block content %}
@@ -11,20 +12,20 @@
NameDoctrineLast updated{% trans "Name" %}{% trans "Doctrine" %}{% trans "Last updated" %}
@@ -134,7 +135,7 @@
-

EFT/Export

+

{% trans "EFT/Export" %}

{% for data in fitting_eft.items %} diff --git a/stock/templates/registered/fleetupfittingsview.html b/stock/templates/registered/fleetupfittingsview.html index 14e8d9f7..2a617c5f 100644 --- a/stock/templates/registered/fleetupfittingsview.html +++ b/stock/templates/registered/fleetupfittingsview.html @@ -1,6 +1,7 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} {% block page_title %}FleetUp{% endblock page_title %} @@ -11,20 +12,20 @@
- - - - - + + + + + {% for id, fittings in fitting_list %} @@ -70,7 +71,7 @@ {% endfor %}
NameHullShip typeEstimated ISKCategories{% trans "Name" %}{% trans "Hull" %}{% trans "Ship type" %}{% trans "Estimated ISK" %}{% trans "Categories" %}
{% else %} -

There seems to be no Doctrines in here at the moment!

+

{% trans "There seems to be no Doctrines in here at the moment!" %}

{% endif %}
diff --git a/stock/templates/registered/groupmanagement.html b/stock/templates/registered/groupmanagement.html index 074ffe6d..55efadcf 100644 --- a/stock/templates/registered/groupmanagement.html +++ b/stock/templates/registered/groupmanagement.html @@ -1,22 +1,23 @@ {% extends "public/base.html" %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Groups Management{% endblock page_title %} +{% block page_title %}{% trans "Groups Management" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
- - + + - - - - + + + + {% for acceptrequest in acceptrequests %} @@ -27,26 +28,26 @@ {% endfor %}
RequestIDCharacterNameGroupNameAction{% trans "RequestID" %}{% trans "CharacterName" %}{% trans "GroupName" %}{% trans "Action" %}
- + - - - - + + + + {% for leaverequest in leaverequests %} @@ -57,13 +58,13 @@ diff --git a/stock/templates/registered/groups.html b/stock/templates/registered/groups.html index 49ebe67a..30e9f63c 100644 --- a/stock/templates/registered/groups.html +++ b/stock/templates/registered/groups.html @@ -1,21 +1,22 @@ {% extends "public/base.html" %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}Available{% endblock page_title %} +{% block page_title %}{% trans "Available" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
-

Available Groups

+

{% trans "Available Groups" %}

{% if perms.auth.member %}
RequestIDCharacterNameGroupNameAction{% trans "RequestID" %}{% trans "CharacterName" %}{% trans "GroupName" %}{% trans "Action" %}
- - - - + + + + {% for pair in pairs %} @@ -28,7 +29,7 @@ {% if pair.2 == "" %} {% else %} @@ -39,7 +40,7 @@ {% elif pair.2 == "" %} {% else %} @@ -53,9 +54,9 @@
GroupIDGroupNameGroupDescAction{% trans "GroupID" %}{% trans "GroupName" %}{% trans "GroupDesc" %}{% trans "Action" %}
{% else %} {% if IS_CORP %} - + {% else %} - + {% endif %} {% endif %}
diff --git a/stock/templates/registered/hrapplicationcorpchoice.html b/stock/templates/registered/hrapplicationcorpchoice.html index 0ffeabc4..6dc7237b 100644 --- a/stock/templates/registered/hrapplicationcorpchoice.html +++ b/stock/templates/registered/hrapplicationcorpchoice.html @@ -1,13 +1,15 @@ {% extends "public/base.html" %} {% load staticfiles %} +{% load i18n %} + {% block title %}Choose a Corp{% endblock %} -{% block page_title %}Choose a Corp{% endblock page_title %} +{% block page_title %}{% trans "Choose a Corp" %}{% endblock page_title %} {% block content %}
-

Choose a Corp

+

{% trans "Choose a Corp" %}

{% if choices %}
-
Available Corps
+
{% trans "Available Corps" %}
{% for choice in choices %} @@ -19,7 +21,7 @@
{% else %} -
No corps are accepting applications at this time.
+
{% trans "No corps are accepting applications at this time." %}
{% endif %}
{% endblock content %} diff --git a/stock/templates/registered/hrapplicationcreate.html b/stock/templates/registered/hrapplicationcreate.html index 269518f7..97737195 100644 --- a/stock/templates/registered/hrapplicationcreate.html +++ b/stock/templates/registered/hrapplicationcreate.html @@ -1,10 +1,12 @@ {% extends "public/base.html" %} {% load staticfiles %} +{% load i18n %} + {% block title %}Apply To {{ corp.corporation_name }}{% endblock title %} -{% block page_title %}Apply To {{ corp.corporation_name }}{% endblock page_title %} +{% block page_title %}{% trans "Apply To" %} {{ corp.corporation_name }}{% endblock page_title %} {% block content %}
-

Apply To {{ corp.corporation_name }}

+

{% trans "Apply To" %} {{ corp.corporation_name }}

@@ -21,7 +23,7 @@
{% endfor %} - +
diff --git a/stock/templates/registered/hrapplicationmanagement.html b/stock/templates/registered/hrapplicationmanagement.html index 80b05768..fec581e8 100755 --- a/stock/templates/registered/hrapplicationmanagement.html +++ b/stock/templates/registered/hrapplicationmanagement.html @@ -1,30 +1,31 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} +{% load i18n %} {% block title %}Alliance Auth{% endblock %} -{% block page_title %}HR Application Management{% endblock page_title %} +{% block page_title %}{% trans "HR Application Management" %}{% endblock page_title %} {% block extra_css %}{% endblock extra_css %} {% block content %}
{% if not perms.auth.member %} -

Personal Applications +

{% trans "Personal Applications" %}
{% if create %} - + {% else %} - + {% endif %}

- - - + + + {% for personal_app in personal_apps %} @@ -32,11 +33,11 @@
UsernameCorporation - StatusActions{% trans "Username" %}{% trans "Corporation" %} + {% trans "Status" %}{% trans "Actions" %}
{{ personal_app.form.corp.corporation_name }} {% if personal_app.approved == None %} -
Pending
+
{% trans "Pending" %}
{% elif personal_app.approved == True %} -
Approved
+
{% trans "Approved" %}
{% else %} -
Rejected
+
{% trans "Rejected" %}
{% endif %}
@@ -57,29 +58,29 @@
{% endif %} {% if perms.auth.human_resources %} -

Application Management +

{% trans "Application Management" %}

- - - - - - + + + + + + {% for app in applications %} @@ -90,14 +91,14 @@
DateUsernameMain CharacterCorporationStatusActions{% trans "Date" %}{% trans "Username" %}{% trans "Main Character" %}{% trans "Corporation" %}{% trans "Status" %}{% trans "Actions" %}
{% if app.approved_denied == None %} {% if app.reviewer_str %} -
Reviewer: {{ app.reviewer_str }}
+
{% trans "Reviewer:" %} {{ app.reviewer_str }}
{% else %} -
Pending
+
{% trans "Pending" %}
{% endif %} {% elif app.approved_denied == True %} -
Approved
+
{% trans "Approved" %}
{% else %} -
Rejected
+
{% trans "Rejected" %}
{% endif %}
@@ -115,12 +116,12 @@
- - - - - - + + + + + + {% for app in finished_applications %} @@ -131,14 +132,14 @@
DateUsernameMain CharacterCorporationStatusActions{% trans "Date" %}{% trans "Username" %}{% trans "Main Character" %}{% trans "Corporation" %}{% trans "Status" %}{% trans "Actions" %}
{% if app.approved_denied == None %} {% if app.reviewer_str %} -
Reviewer: {{ app.reviewer_str }}
+
{% trans "Reviewer: {{ app.reviewer_str }}
{% else %} -
Pending
+
{% trans "Pending" %}
{% endif %} {% elif app.approved_denied == True %} -
Approved
+
{% trans "Approved" %}
{% else %} -
Rejected
+
{% trans "Rejected" %}
{% endif %}
@@ -164,8 +165,8 @@