merge resource bundles

Wed, 06 Jan 2021 15:39:56 +0100

author
Mike Becker <universe@uap-core.de>
date
Wed, 06 Jan 2021 15:39:56 +0100
changeset 180
009700915269
parent 179
623c340058f3
child 181
502a10e24b85

merge resource bundles

LICENSE file | annotate | diff | comparison | revisions
src/main/java/de/uapcore/lightpit/AbstractServlet.java file | annotate | diff | comparison | revisions
src/main/java/de/uapcore/lightpit/modules/ErrorModule.java file | annotate | diff | comparison | revisions
src/main/java/de/uapcore/lightpit/modules/LanguageModule.java file | annotate | diff | comparison | revisions
src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java file | annotate | diff | comparison | revisions
src/main/java/de/uapcore/lightpit/modules/UsersModule.java file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/Constants.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/DataSourceProvider.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/Logging.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/dao/DataAccessObject.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/dao/Extensions.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/Component.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/Entity.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/Issue.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/IssueComment.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/IssueSummary.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/Project.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/User.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/entities/Version.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/filter/Filter.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/filter/IssueFilter.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/types/IssueCategory.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/types/IssueStatus.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/types/IssueStatusPhase.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/types/VersionStatus.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/types/WebColor.kt file | annotate | diff | comparison | revisions
src/main/resources/localization/error.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/error_de.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/language.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/language_de.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/lightpit.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/lightpit_de.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/projects.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/projects_de.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/strings.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/strings_de.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/users.properties file | annotate | diff | comparison | revisions
src/main/resources/localization/users_de.properties file | annotate | diff | comparison | revisions
src/main/resources/log4j2.properties file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/commit-successful.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/component-form.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/components.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/error.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/issue-form.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/issue-view.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/language.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/project-details.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/project-form.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/project-navmenu.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/projects.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/site.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/user-form.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/users.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/version-form.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jsp/versions.jsp file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jspf/date-with-tooltip.jspf file | annotate | diff | comparison | revisions
src/main/webapp/error.css file | annotate | diff | comparison | revisions
src/main/webapp/index.jsp file | annotate | diff | comparison | revisions
src/main/webapp/language.css file | annotate | diff | comparison | revisions
src/main/webapp/lightpit.css file | annotate | diff | comparison | revisions
src/main/webapp/projects.css file | annotate | diff | comparison | revisions
--- a/LICENSE	Tue Jan 05 19:19:31 2021 +0100
+++ b/LICENSE	Wed Jan 06 15:39:56 2021 +0100
@@ -1,4 +1,4 @@
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/java/de/uapcore/lightpit/AbstractServlet.java	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/java/de/uapcore/lightpit/AbstractServlet.java	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -68,14 +68,6 @@
     private final Map<HttpMethod, Map<PathPattern, Method>> mappings = new HashMap<>();
 
     /**
-     * Returns the name of the resource bundle associated with this servlet.
-     *
-     * @return the resource bundle base name
-     */
-    protected abstract String getResourceBundleName();
-
-
-    /**
      * Creates a set of data access objects for the specified connection.
      *
      * @param connection the SQL connection
@@ -414,7 +406,6 @@
         final String fullPath = req.getServletPath() + Optional.ofNullable(req.getPathInfo()).orElse("");
         req.setAttribute(Constants.REQ_ATTR_BASE_HREF, baseHref(req));
         req.setAttribute(Constants.REQ_ATTR_PATH, fullPath);
-        req.setAttribute(Constants.REQ_ATTR_RESOURCE_BUNDLE, getResourceBundleName());
 
         // if this is an error path, bypass the normal flow
         if (fullPath.startsWith("/error/")) {
--- a/src/main/java/de/uapcore/lightpit/modules/ErrorModule.java	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/java/de/uapcore/lightpit/modules/ErrorModule.java	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -47,11 +47,6 @@
 
     public static final String REQ_ATTR_RETURN_LINK = "returnLink";
 
-    @Override
-    protected String getResourceBundleName() {
-        return "localization.error";
-    }
-
     @RequestMapping(requestPath = "generic", method = HttpMethod.GET)
     public void onError(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         Optional.ofNullable(req.getHeader("Referer")).ifPresent(
--- a/src/main/java/de/uapcore/lightpit/modules/LanguageModule.java	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/java/de/uapcore/lightpit/modules/LanguageModule.java	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -54,11 +54,6 @@
     private final List<Locale> languages = new ArrayList<>();
 
     @Override
-    protected String getResourceBundleName() {
-        return "localization.language";
-    }
-
-    @Override
     public void init() throws ServletException {
         super.init();
 
--- a/src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -65,11 +65,6 @@
 
     private static final Logger LOG = LoggerFactory.getLogger(ProjectsModule.class);
 
-    @Override
-    protected String getResourceBundleName() {
-        return "localization.projects";
-    }
-
     private static int parseIntOrZero(String str) {
         try {
             return Integer.parseInt(str);
--- a/src/main/java/de/uapcore/lightpit/modules/UsersModule.java	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/java/de/uapcore/lightpit/modules/UsersModule.java	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -55,11 +55,6 @@
 
     private static final Logger LOG = LoggerFactory.getLogger(UsersModule.class);
 
-    @Override
-    protected String getResourceBundleName() {
-        return "localization.users";
-    }
-
     @RequestMapping(method = HttpMethod.GET)
     public void index(HttpServletRequest req, HttpServletResponse resp, DataAccessObject dao) throws SQLException, ServletException, IOException {
         final var viewModel = new UsersView();
--- a/src/main/kotlin/de/uapcore/lightpit/Constants.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/Constants.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -52,11 +52,6 @@
     const val CTX_ATTR_DB_DIALECT = "db-dialect"
 
     /**
-     * Key for the request attribute containing the resource bundle name.
-     */
-    const val REQ_ATTR_RESOURCE_BUNDLE = "bundleName"
-
-    /**
      * Key for the request attribute containing the optional navigation menu jsp.
      */
     const val REQ_ATTR_NAVIGATION = "navMenu"
--- a/src/main/kotlin/de/uapcore/lightpit/DataSourceProvider.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/DataSourceProvider.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/Logging.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/Logging.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/dao/DataAccessObject.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/dao/DataAccessObject.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/dao/Extensions.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/dao/Extensions.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/Component.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/Component.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/Entity.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/Entity.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/Issue.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/Issue.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/IssueComment.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/IssueComment.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/IssueSummary.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/IssueSummary.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/Project.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/Project.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/User.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/User.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/entities/Version.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/entities/Version.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/filter/Filter.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/filter/Filter.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/filter/IssueFilter.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/filter/IssueFilter.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/types/IssueCategory.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/types/IssueCategory.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/types/IssueStatus.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/types/IssueStatus.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/types/IssueStatusPhase.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/types/IssueStatusPhase.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/types/VersionStatus.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/types/VersionStatus.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/kotlin/de/uapcore/lightpit/types/WebColor.kt	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/kotlin/de/uapcore/lightpit/types/WebColor.kt	Wed Jan 06 15:39:56 2021 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/resources/localization/error.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-pageTitle = Error
-
-h1 = The requested page cannot be displayed.
-errorCode = Code
-
-errorMessage = Server Message
-code.404 = Page not found
-code.401 = Authorization required
-code.403 = Access denied
-code.500 = Internal error
-code.503 = Service unavailable
-
-errorTimestamp = Timestamp
-errorExceptionText = Internal Exception
-errorReturnLink = Return to
--- a/src/main/resources/localization/error_de.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-pageTitle = Fehler
-
-h1 = Die angeforderte Seite kann nicht angezeigt werden.
-errorCode = Fehlercode
-
-errorMessage = Server Nachricht
-code.404 = Seite nicht gefunden
-code.401 = Authentifizierung erforderlich
-code.403 = Zugriff verboten
-code.500 = Interner Fehler
-code.503 = Dienst steht derzeit nicht zur Verfügung
-
-errorTimestamp = Zeitstempel
-errorExceptionText = Interne Ausnahme
-errorReturnLink = Kehre zurück zu
--- a/src/main/resources/localization/language.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-pageTitle=Language Selection
-
-submit = Switch language
-browserLanguage = Browser language
-browserLanguageNotAvailable = Browser language not available.
--- a/src/main/resources/localization/language_de.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-pageTitle=Sprachauswahl
-
-submit = Sprache ausw\u00e4hlen
-browserLanguage = Browsersprache
-browserLanguageNotAvailable = Browsersprache nicht verf\u00fcgbar.
--- a/src/main/resources/localization/lightpit.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version=LightPIT - Version 0.1 (Snapshot)
-
-button.okay=OK
-button.cancel=Cancel
-
-commit.success=Operation successful - you will be redirected in a second.
-commit.redirect-link=If redirection does not work, click the following link:
-
-menu.projects=Projects
-menu.users=Developer
-menu.languages=Language
--- a/src/main/resources/localization/lightpit_de.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version=LightPIT - Version 0.1 (Entwicklungsversion) 
-
-button.okay=OK
-button.cancel=Abbrechen
-
-commit.success=Operation erfolgreich - Sie werden jeden Moment weitergeleitet.
-commit.redirect-link=Falls die Weiterleitung nicht klappt, klicken Sie bitte hier:
-
-menu.projects=Projekte
-menu.users=Entwickler
-menu.languages=Sprache
--- a/src/main/resources/localization/projects.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-pageTitle=Project Tracking
-
-button.create=New Project
-button.component.create=New Component
-button.component.edit=Edit Component
-button.version.create=New Version
-button.version.edit=Edit Version
-button.issue.create=New Issue
-button.issue.create.another=Create another Issue
-button.issue.edit=Edit Issue
-button.issue.all=All Issues
-button.comment=Comment
-
-no-projects=Welcome to LightPIT. Start off by creating a new project!
-
-navmenu.versions=Versions
-navmenu.components=Components
-navmenu.unassigned=unassigned
-navmenu.all=all
-
-name=Name
-node=Node
-ordinal=Ordering
-node.tooltip=Name of the path node that will be used in URL construction.
-description=Description
-repoUrl=Repository
-owner=Project Lead
-version.latest=Latest Version
-version.next=Next Version
-issues=Issues
-component=Component
-
-progress=Overall Progress
-
-issues.open=Open
-issues.active=In Progress
-issues.done=Done
-issues.reported=Reported Issues
-issues.resolved=Assigned Issues
-
-version.project=Project
-version.name=Version
-version.status=Status
-version.ordinal=Ordering
-
-component.project=Project
-component.name=Component
-component.color=Color
-component.lead=Lead
-component.ordinal=Ordering
-component.description=Description
-
-tooltip.ordinal=Use to override lexicographic ordering.
-
-placeholder.null-owner=Unassigned
-placeholder.null-lead=Unassigned
-placeholder.null-assignee=Unassigned
-placeholder.auto-assignee=Automatic
-placeholder.auto-assignee.tooltip=Assigns the component lead, if available.
-placeholder.null-component=Unassigned
-
-version.status.Future=Future
-version.status.Unreleased=Unreleased
-version.status.Released=Released
-version.status.LTS=LTS
-version.status.Deprecated=Deprecated
-
-issue.without-version=No Assigned Version
-issue.id=Issue ID
-issue.project=Project
-issue.component=Component
-issue.subject=Subject
-issue.description=Description
-issue.assignee=Assignee
-issue.affected-versions=Affected Versions
-issue.resolved-versions=Target Versions
-issue.category=Category
-issue.status=Status
-issue.created=Created
-issue.updated=Updated
-issue.eta=ETA
-
-issue.category.Feature=Feature
-issue.category.Improvement=Improvement
-issue.category.Bug=Bug
-issue.category.Task=Task
-issue.category.Test=Test
-
-issue.status.InSpecification=Specification
-issue.status.ToDo=To Do
-issue.status.Scheduled=Scheduled
-issue.status.InProgress=In Progress
-issue.status.InReview=Review
-issue.status.Done=Done
-issue.status.Rejected=Rejected
-issue.status.Withdrawn=Withdrawn
-issue.status.Duplicate=Duplicate
-
-issue.comments=Comments
-issue.comments.anonauthor=Anonymous Author
--- a/src/main/resources/localization/projects_de.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-pageTitle=Projektverwaltung
-
-button.create=Neues Projekt
-button.component.create=Neue Komponente
-button.component.edit=Komponente Bearbeiten
-button.version.create=Neue Version
-button.version.edit=Version Bearbeiten
-button.issue.create=Neuer Vorgang
-button.issue.create.another=Weiteren Vorgang erstellen
-button.issue.edit=Vorgang Bearbeiten
-button.issue.all=Alle Vorg\u00e4nge
-button.comment=Kommentieren
-
-no-projects=Wilkommen bei LightPIT. Beginnen Sie mit der Erstellung eines Projektes!
-
-navmenu.versions=Versionen
-navmenu.components=Komponenten
-navmenu.unassigned=Nicht Zugewiesen
-navmenu.all=Alle
-
-name=Name
-node=Pfadname
-ordinal=Sequenznummer
-node.tooltip=Name, der zur Konstruktion der URL genutzt werden soll.
-description=Beschreibung
-repoUrl=Repository
-owner=Projektleitung
-version.latest=Neuste Version
-version.next=N\u00e4chste Version
-component=Komponente
-issues=Vorg\u00e4nge
-
-progress=Gesamtfortschritt
-
-issues.open=Offen
-issues.active=In Arbeit
-issues.done=Erledigt
-issues.reported=Er\u00f6ffnete Vorg\u00e4nge
-issues.resolved=Enthaltene Vorg\u00e4nge
-
-version.project=Projekt
-version.name=Version
-version.status=Status
-version.ordinal=Sequenznummer
-
-component.project=Projekt
-component.name=Komponente
-component.color=Farbe
-component.lead=Leitung
-component.ordinal=Sequenznummer
-component.description=Beschreibung
-
-tooltip.ordinal=\u00dcbersteuert die lexikographische Sortierung.
-
-placeholder.null-owner=Nicht Zugewiesen
-placeholder.null-lead=Niemand
-placeholder.null-assignee=Niemandem
-placeholder.auto-assignee=Automatisch
-placeholder.auto-assignee.tooltip=Weist, wenn m\u00f6glich, den Vorgang dem Leiter der Komponente.
-placeholder.null-component=Keine
-
-version.status.Future=Geplant
-version.status.Unreleased=Unver\u00f6ffentlicht
-version.status.Released=Ver\u00f6ffentlicht
-version.status.LTS=Langzeitsupport
-version.status.Deprecated=Veraltet
-
-issue.without-version=Keine Version zugeordnet
-issue.id=Vorgangs-ID
-issue.project=Projekt
-issue.component=Komponente
-issue.subject=Thema
-issue.description=Beschreibung
-issue.assignee=Zugewiesen
-issue.affected-versions=Betroffene Versionen
-issue.resolved-versions=Zielversionen
-issue.category=Kategorie
-issue.status=Status
-issue.created=Erstellt
-issue.updated=Aktualisiert
-issue.eta=Zieldatum
-
-issue.category.Feature=Feature
-issue.category.Improvement=Verbesserung
-issue.category.Bug=Fehler
-issue.category.Task=Aufgabe
-issue.category.Test=Test
-
-issue.status.InSpecification=Spezifikation
-issue.status.ToDo=Zu Erledigen
-issue.status.Scheduled=Geplant
-issue.status.InProgress=In Arbeit
-issue.status.InReview=Im Review
-issue.status.Done=Erledigt
-issue.status.Rejected=Zur\u00fcckgewiesen
-issue.status.Withdrawn=Zur\u00fcckgezogen
-issue.status.Duplicate=Duplikat
-
-issue.comments=Kommentare
-issue.comments.anonauthor=Anonymer Autor
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/resources/localization/strings.properties	Wed Jan 06 15:39:56 2021 +0100
@@ -0,0 +1,136 @@
+# Copyright 2021 Mike Becker. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+app.title=LightPIT
+browserLanguage = Browser language
+browserLanguageNotAvailable = Browser language not available.
+button.cancel=Cancel
+button.comment=Comment
+button.component.create=New Component
+button.component.edit=Edit Component
+button.user.create=Add Developer
+button.issue.all=All Issues
+button.issue.create.another=Create another Issue
+button.issue.create=New Issue
+button.issue.edit=Edit Issue
+button.okay=OK
+button.project.create=New Project
+button.version.create=New Version
+button.version.edit=Edit Version
+commit.redirect-link=If redirection does not work, click the following link:
+commit.success=Operation successful - you will be redirected in a second.
+component.color=Color
+component.description=Description
+component.lead=Lead
+component.name=Component
+component.ordinal=Ordering
+component.project=Project
+component=Component
+description=Description
+displayname=Developer
+error.code = Code
+error.code.401 = Authorization required
+error.code.403 = Access denied
+error.code.404 = Page not found
+error.code.500 = Internal error
+error.code.503 = Service unavailable
+error.exceptionText = Internal Exception
+error.headline = The requested page cannot be displayed.
+error.message = Server Message
+error.returnLink = Return to
+error.timestamp = Timestamp
+givenname=Given Name
+issue.affected-versions=Affected Versions
+issue.assignee=Assignee
+issue.category.Bug=Bug
+issue.category.Feature=Feature
+issue.category.Improvement=Improvement
+issue.category.Task=Task
+issue.category.Test=Test
+issue.category=Category
+issue.comments.anonauthor=Anonymous Author
+issue.comments=Comments
+issue.component=Component
+issue.created=Created
+issue.description=Description
+issue.eta=ETA
+issue.id=Issue ID
+issue.project=Project
+issue.resolved-versions=Target Versions
+issue.status.Done=Done
+issue.status.Duplicate=Duplicate
+issue.status.InProgress=In Progress
+issue.status.InReview=Review
+issue.status.InSpecification=Specification
+issue.status.Rejected=Rejected
+issue.status.Scheduled=Scheduled
+issue.status.ToDo=To Do
+issue.status.Withdrawn=Withdrawn
+issue.status=Status
+issue.subject=Subject
+issue.updated=Updated
+issue.without-version=No Assigned Version
+issues.active=In Progress
+issues.done=Done
+issues.open=Open
+issues.reported=Reported Issues
+issues.resolved=Assigned Issues
+issues=Issues
+lastname=Last Name
+mail=E-Mail
+menu.languages=Language
+menu.projects=Projects
+menu.users=Developer
+name=Name
+navmenu.all=all
+navmenu.components=Components
+navmenu.unassigned=unassigned
+navmenu.versions=Versions
+no-projects=Welcome to LightPIT. Start off by creating a new project!
+no-users=No developers have been configured yet.
+node.tooltip=Name of the path node that will be used in URL construction.
+node=Node
+ordinal=Ordering
+owner=Project Lead
+placeholder.auto-assignee.tooltip=Assigns the component lead, if available.
+placeholder.auto-assignee=Automatic
+placeholder.null-assignee=Unassigned
+placeholder.null-component=Unassigned
+placeholder.null-lead=Unassigned
+placeholder.null-owner=Unassigned
+progress=Overall Progress
+repoUrl=Repository
+submit = Switch language
+tooltip.ordinal=Use to override lexicographic ordering.
+username=User Name
+version.latest=Latest Version
+version.name=Version
+version.next=Next Version
+version.ordinal=Ordering
+version.project=Project
+version.status.Deprecated=Deprecated
+version.status.Future=Future
+version.status.LTS=LTS
+version.status.Released=Released
+version.status.Unreleased=Unreleased
+version.status=Status
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/resources/localization/strings_de.properties	Wed Jan 06 15:39:56 2021 +0100
@@ -0,0 +1,136 @@
+# Copyright 2021 Mike Becker. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+app.title=LightPIT
+browserLanguage = Browsersprache
+browserLanguageNotAvailable = Browsersprache nicht verf\u00fcgbar.
+button.cancel=Abbrechen
+button.comment=Kommentieren
+button.component.create=Neue Komponente
+button.component.edit=Komponente Bearbeiten
+button.user.create=Neuer Entwickler
+button.issue.all=Alle Vorg\u00e4nge
+button.issue.create.another=Weiteren Vorgang erstellen
+button.issue.create=Neuer Vorgang
+button.issue.edit=Vorgang Bearbeiten
+button.okay=OK
+button.project.create=Neues Projekt
+button.version.create=Neue Version
+button.version.edit=Version Bearbeiten
+commit.redirect-link=Falls die Weiterleitung nicht klappt, klicken Sie bitte hier:
+commit.success=Operation erfolgreich - Sie werden jeden Moment weitergeleitet.
+component.color=Farbe
+component.description=Beschreibung
+component.lead=Leitung
+component.name=Komponente
+component.ordinal=Sequenznummer
+component.project=Projekt
+component=Komponente
+description=Beschreibung
+displayname=Entwickler
+error.code = Fehlercode
+error.code.401 = Authentifizierung erforderlich
+error.code.403 = Zugriff verboten
+error.code.404 = Seite nicht gefunden
+error.code.500 = Interner Fehler
+error.code.503 = Dienst steht derzeit nicht zur Verfügung
+error.exceptionText = Interne Ausnahme
+error.headline = Die angeforderte Seite kann nicht angezeigt werden.
+error.message = Server Nachricht
+error.returnLink = Kehre zurück zu
+error.timestamp = Zeitstempel
+givenname=Vorname
+issue.affected-versions=Betroffene Versionen
+issue.assignee=Zugewiesen
+issue.category.Bug=Fehler
+issue.category.Feature=Feature
+issue.category.Improvement=Verbesserung
+issue.category.Task=Aufgabe
+issue.category.Test=Test
+issue.category=Kategorie
+issue.comments.anonauthor=Anonymer Autor
+issue.comments=Kommentare
+issue.component=Komponente
+issue.created=Erstellt
+issue.description=Beschreibung
+issue.eta=Zieldatum
+issue.id=Vorgangs-ID
+issue.project=Projekt
+issue.resolved-versions=Zielversionen
+issue.status.Done=Erledigt
+issue.status.Duplicate=Duplikat
+issue.status.InProgress=In Arbeit
+issue.status.InReview=Im Review
+issue.status.InSpecification=Spezifikation
+issue.status.Rejected=Zur\u00fcckgewiesen
+issue.status.Scheduled=Geplant
+issue.status.ToDo=Zu Erledigen
+issue.status.Withdrawn=Zur\u00fcckgezogen
+issue.status=Status
+issue.subject=Thema
+issue.updated=Aktualisiert
+issue.without-version=Keine Version zugeordnet
+issues.active=In Arbeit
+issues.done=Erledigt
+issues.open=Offen
+issues.reported=Er\u00f6ffnete Vorg\u00e4nge
+issues.resolved=Enthaltene Vorg\u00e4nge
+issues=Vorg\u00e4nge
+lastname=Nachname
+mail=E-Mail
+menu.languages=Sprache
+menu.projects=Projekte
+menu.users=Entwickler
+name=Name
+navmenu.all=Alle
+navmenu.components=Komponenten
+navmenu.unassigned=Nicht Zugewiesen
+navmenu.versions=Versionen
+no-projects=Wilkommen bei LightPIT. Beginnen Sie mit der Erstellung eines Projektes!
+no-users=Bislang wurden keine Entwickler hinterlegt.
+node.tooltip=Name, der zur Konstruktion der URL genutzt werden soll.
+node=Pfadname
+ordinal=Sequenznummer
+owner=Projektleitung
+placeholder.auto-assignee.tooltip=Weist, wenn m\u00f6glich, den Vorgang dem Leiter der Komponente.
+placeholder.auto-assignee=Automatisch
+placeholder.null-assignee=Niemandem
+placeholder.null-component=Keine
+placeholder.null-lead=Niemand
+placeholder.null-owner=Nicht Zugewiesen
+progress=Gesamtfortschritt
+repoUrl=Repository
+submit = Sprache ausw\u00e4hlen
+tooltip.ordinal=\u00dcbersteuert die lexikographische Sortierung.
+username=Benutzername
+version.latest=Neuste Version
+version.name=Version
+version.next=N\u00e4chste Version
+version.ordinal=Sequenznummer
+version.project=Projekt
+version.status.Deprecated=Veraltet
+version.status.Future=Geplant
+version.status.LTS=Langzeitsupport
+version.status.Released=Ver\u00f6ffentlicht
+version.status.Unreleased=Unver\u00f6ffentlicht
+version.status=Status 
--- a/src/main/resources/localization/users.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-pageTitle=User Management
-
-button.create=Add Developer
-
-no-users=No developers have been configured yet.
-
-username=User Name
-givenname=Given Name
-lastname=Last Name
-mail=E-Mail
-
-displayname=Developer
--- a/src/main/resources/localization/users_de.properties	Tue Jan 05 19:19:31 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-# Copyright 2018 Mike Becker. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-pageTitle=Benutzerverwaltung
-
-button.create=Neuer Entwickler
-
-no-users=Bislang wurden keine Entwickler hinterlegt.
-
-username=Benutzername
-givenname=Vorname
-lastname=Nachname
-mail=E-Mail
-
-displayname=Entwickler
--- a/src/main/resources/log4j2.properties	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/resources/log4j2.properties	Wed Jan 06 15:39:56 2021 +0100
@@ -1,4 +1,4 @@
-# Copyright 2018 Mike Becker. All rights reserved.
+# Copyright 2021 Mike Becker. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/WEB-INF/jsp/commit-successful.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/commit-successful.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -30,6 +30,6 @@
 
 <c:set scope="page" var="redirectLocation" value="${requestScope[Constants.REQ_ATTR_REDIRECT_LOCATION]}"/>
 
-<fmt:message bundle="${lightpit_bundle}" key="commit.success"/>
-<fmt:message bundle="${lightpit_bundle}" key="commit.redirect-link"/>
+<fmt:message key="commit.success"/>
+<fmt:message key="commit.redirect-link"/>
 <a href="${redirectLocation}"><c:out value="${redirectLocation}"/> </a>
--- a/src/main/webapp/WEB-INF/jsp/component-form.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/component-form.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2020 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -89,9 +89,9 @@
             <td colspan="2">
                 <input type="hidden" name="id" value="${component.id}"/>
                 <a href="./projects/${project.node}/components/" class="button">
-                    <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                    <fmt:message key="button.cancel"/>
                 </a>
-                <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
+                <button type="submit"><fmt:message key="button.okay"/></button>
             </td>
         </tr>
         </tfoot>
--- a/src/main/webapp/WEB-INF/jsp/components.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/components.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2020 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/WEB-INF/jsp/error.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/error.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%-- 
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -36,30 +36,30 @@
 <c:set scope="page" var="returnLink" value="${requestScope[ErrorModule.REQ_ATTR_RETURN_LINK]}"/>
 
 <div id="error-page">
-    <h1><fmt:message key="h1"/></h1>
+    <h1><fmt:message key="error.headline"/></h1>
     <table>
         <tr>
-            <th><fmt:message key="errorCode"/>:</th>
-            <td>${errorCode} - <fmt:message key="code.${errorCode}"/></td>
+            <th><fmt:message key="error.code"/>:</th>
+            <td>${errorCode} - <fmt:message key="error.code.${errorCode}"/></td>
         </tr>
         <tr>
-            <th><fmt:message key="errorMessage"/>:</th>
+            <th><fmt:message key="error.message"/>:</th>
             <td><c:out value="${requestScope['javax.servlet.error.message']}"/></td>
         </tr>
         <tr>
-            <th><fmt:message key="errorTimestamp"/>:</th>
+            <th><fmt:message key="error.timestamp"/>:</th>
             <td><fmt:formatDate type="both" value="<%= new java.util.Date()%>"/></td>
         </tr>
         <%--@elvariable id="exception" type="java.lang.Exception"--%>
         <c:if test="${not empty exception}">
             <tr>
-                <th><fmt:message key="errorExceptionText"/>:</th>
+                <th><fmt:message key="error.exceptionText"/>:</th>
                 <td>${exception['class'].name} - ${exception.message}</td>
             </tr>
         </c:if>
         <c:if test="${fn:startsWith(returnLink, baseHref)}">
             <tr>
-                <th><fmt:message key="errorReturnLink"/>:</th>
+                <th><fmt:message key="error.returnLink"/>:</th>
                 <td><a href="${returnLink}">${returnLink}</a></td>
             </tr>
         </c:if>
--- a/src/main/webapp/WEB-INF/jsp/issue-form.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/issue-form.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2020 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -180,16 +180,16 @@
                 <input type="hidden" name="id" value="${issue.id}"/>
                 <c:if test="${issue.id ge 0}">
                 <a href="./projects/${issue.project.node}/issues/${issue.id}/view" class="button">
-                    <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                    <fmt:message key="button.cancel"/>
                 </a>
                 </c:if>
                 <c:if test="${issue.id lt 0}">
                     <%-- TODO: fix #14 --%>
                     <a href="./projects/${issue.project.node}/all-components/all-versions/issues/" class="button">
-                        <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                        <fmt:message key="button.cancel"/>
                     </a>
                 </c:if>
-                <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
+                <button type="submit"><fmt:message key="button.okay"/></button>
             </td>
         </tr>
         </tfoot>
--- a/src/main/webapp/WEB-INF/jsp/issue-view.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/issue-view.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -139,7 +139,7 @@
         <td colspan="2">
             <%-- TODO: fix #14 --%>
             <a href="./projects/${issue.project.node}/all-components/all-versions/issues/" class="button">
-                <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                <fmt:message key="button.cancel"/>
             </a>
             <a href="./projects/${issue.project.node}/issues/${issue.id}/edit" class="button submit">
                 <fmt:message key="button.issue.edit"/>
--- a/src/main/webapp/WEB-INF/jsp/language.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/language.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%-- 
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/WEB-INF/jsp/project-details.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/project-details.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/WEB-INF/jsp/project-form.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/project-form.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -79,9 +79,9 @@
             <td colspan="2">
                 <input type="hidden" name="pid" value="${project.id}"/>
                 <a href="./projects/" class="button">
-                    <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                    <fmt:message key="button.cancel"/>
                 </a>
-                <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
+                <button type="submit"><fmt:message key="button.okay"/></button>
             </td>
         </tr>
         </tfoot>
--- a/src/main/webapp/WEB-INF/jsp/project-navmenu.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/project-navmenu.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2020 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/WEB-INF/jsp/projects.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/projects.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -37,7 +37,7 @@
 </c:if>
 
 <div id="tool-area">
-    <a href="./projects/create" class="button"><fmt:message key="button.create"/></a>
+    <a href="./projects/create" class="button"><fmt:message key="button.project.create"/></a>
 </div>
 
 <c:if test="${not empty viewmodel.projectList}">
--- a/src/main/webapp/WEB-INF/jsp/site.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/site.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%-- 
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2020 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -48,23 +48,19 @@
 <%-- Define an alias for the additional stylesheet --%>
 <c:set scope="page" var="extraCss" value="${requestScope[Constants.REQ_ATTR_STYLESHEET]}"/>
 
-<%-- Define an alias for the bundle name --%>
-<c:set scope="page" var="bundleName" value="${requestScope[Constants.REQ_ATTR_RESOURCE_BUNDLE]}"/>
-
 <%-- Apply the session locale (should always be present, but check nevertheless) --%>
 <c:if test="${not empty sessionScope[Constants.SESSION_ATTR_LANGUAGE]}">
     <fmt:setLocale scope="request" value="${sessionScope[Constants.SESSION_ATTR_LANGUAGE]}"/>
 </c:if>
 
-<%-- Load resource bundles --%>
-<fmt:setBundle scope="request" basename="${bundleName}"/>
-<fmt:setBundle scope="request" var="lightpit_bundle" basename="localization.lightpit"/>
+<%-- Load resource bundle --%>
+<fmt:setBundle scope="request" basename="localization.strings"/>
 
 <!DOCTYPE html>
 <html>
 <head>
     <base href="${baseHref}">
-    <title>LightPIT - <fmt:message key="pageTitle"/></title>
+    <title><fmt:message key="app.title"/></title>
     <meta charset="UTF-8">
     <c:if test="${not empty redirectLocation}">
         <meta http-equiv="refresh" content="0; URL=${redirectLocation}">
@@ -80,17 +76,17 @@
 <div id="mainMenu">
     <div class="menuEntry" <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> >
         <a href="projects/">
-            <fmt:message bundle="${lightpit_bundle}" key="menu.projects"/>
+            <fmt:message key="menu.projects"/>
         </a>
     </div>
     <div class="menuEntry" <c:if test="${fn:startsWith(requestPath, '/teams/')}">data-active</c:if> >
         <a href="teams/">
-            <fmt:message bundle="${lightpit_bundle}" key="menu.users"/>
+            <fmt:message key="menu.users"/>
         </a>
     </div>
     <div class="menuEntry" <c:if test="${fn:startsWith(requestPath, '/language/')}">data-active</c:if> >
         <a href="language/">
-            <fmt:message bundle="${lightpit_bundle}" key="menu.languages"/>
+            <fmt:message key="menu.languages"/>
         </a>
     </div>
 </div>
--- a/src/main/webapp/WEB-INF/jsp/user-form.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/user-form.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -61,9 +61,9 @@
             <td colspan="2">
                 <input type="hidden" name="userid" value="${user.id}"/>
                 <a href="./teams/" class="button">
-                    <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                    <fmt:message key="button.cancel"/>
                 </a>
-                <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
+                <button type="submit"><fmt:message key="button.okay"/></button>
             </td>
         </tr>
         </tfoot>
--- a/src/main/webapp/WEB-INF/jsp/users.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/users.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -37,7 +37,7 @@
 </c:if>
 
 <div id="tool-area">
-    <a href="./teams/edit" class="button"><fmt:message key="button.create"/></a>
+    <a href="./teams/edit" class="button"><fmt:message key="button.user.create"/></a>
 </div>
 
 <c:if test="${not empty viewmodel.users}">
--- a/src/main/webapp/WEB-INF/jsp/version-form.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/version-form.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
@@ -78,9 +78,9 @@
             <td colspan="2">
                 <input type="hidden" name="id" value="${version.id}"/>
                 <a href="./projects/${project.node}/versions/" class="button">
-                    <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                    <fmt:message key="button.cancel"/>
                 </a>
-                <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
+                <button type="submit"><fmt:message key="button.okay"/></button>
             </td>
         </tr>
         </tfoot>
--- a/src/main/webapp/WEB-INF/jsp/versions.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jsp/versions.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2020 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/WEB-INF/jspf/date-with-tooltip.jspf	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/WEB-INF/jspf/date-with-tooltip.jspf	Wed Jan 06 15:39:56 2021 +0100
@@ -1,6 +1,6 @@
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 <%--
-  ~ Copyright 2020 Mike Becker. All rights reserved.
+  ~ Copyright 2021 Mike Becker. All rights reserved.
   ~
   ~ Redistribution and use in source and binary forms, with or without
   ~ modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/error.css	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/error.css	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  * 
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  * 
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/index.jsp	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/index.jsp	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 <%-- 
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
-Copyright 2018 Mike Becker. All rights reserved.
+Copyright 2021 Mike Becker. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/language.css	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/language.css	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  * 
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  * 
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/lightpit.css	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/lightpit.css	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  * 
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  * 
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/main/webapp/projects.css	Tue Jan 05 19:19:31 2021 +0100
+++ b/src/main/webapp/projects.css	Wed Jan 06 15:39:56 2021 +0100
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2018 Mike Becker. All rights reserved.
+ * Copyright 2021 Mike Becker. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:

mercurial