Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

German translation #365

Merged
merged 1 commit into from
May 23, 2024
Merged

German translation #365

merged 1 commit into from
May 23, 2024

Conversation

drmenzelit
Copy link
Contributor

@drmenzelit drmenzelit commented May 13, 2024

User description

Maybe not perfect, but the best I can do ;-)


PR Type

enhancement


Description

  • Added a comprehensive German translation for the entire application interface.
  • The translation covers all aspects of the application including general terms, menus, tools, services, and error messages.
  • This update makes the application more accessible to German-speaking users, enhancing user experience and usability.

Changes walkthrough 📝

Relevant files
Enhancement
german.lang
Complete German Translation for Application Interface       

core/langs/german.lang

  • Full German translation for the application interface.
  • Includes general terms, menu options, error messages, and tool names.
  • Provides localized strings for actions like starting, stopping, and
    restarting services.
  • Contains translations for dialogs, error handling, and system
    messages.
  • +353/-0 

    💡 PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    Copy link

    PR Description updated to latest commit (ea5224a)

    Copy link

    PR Review 🔍

    ⏱️ Estimated effort to review [1-5]

    2, because the PR mainly involves adding a new language file with translations, which is straightforward to review for correctness in terms of syntax. However, understanding and verifying the accuracy of the translations would require knowledge of German.

    🧪 Relevant tests

    No

    ⚡ Possible issues

    No

    🔒 Security concerns

    No

    Copy link

    PR Code Suggestions ✨

    CategorySuggestion                                                                                                                                    Score
    Maintainability
    Standardize the placeholder format to improve consistency and reduce parsing errors

    Consider using a consistent placeholder format for dynamic content. The current
    translation uses both %s and %n which might lead to confusion or errors in parsing these
    placeholders. Standardizing on one format will improve maintainability and reduce
    potential errors during runtime.

    core/langs/german.lang [6-21]

    -someRunningHint = "%n von %t Dienste ausgeführt"
    +someRunningHint = "%s von %t Dienste ausgeführt"
     donateVia = "Spenden über %s"
     
    Suggestion importance[1-10]: 7

    Why: The suggestion correctly identifies inconsistent placeholder usage which can lead to parsing errors or confusion. Standardizing placeholders is a good practice for maintainability.

    7
    Clarity
    Differentiate similar terms to clarify their specific functionalities

    The translation for 'verboseDebug' and 'debug' is identical ("Fehlerbehebung"). This can
    be confusing as they may represent different functionalities. Consider using more specific
    terms to distinguish between these actions.

    core/langs/german.lang [18-55]

     debug = "Fehlerbehebung"
    -verboseDebug = "Fehlerbehebung"
    +verboseDebug = "Ausführliche Fehlerbehebung"
     
    Suggestion importance[1-10]: 6

    Why: The suggestion correctly identifies a potential source of confusion with the use of "Fehlerbehebung" for both 'debug' and 'verboseDebug'. Differentiating these terms would enhance clarity.

    6
    Clarify placeholder usage in translations for better understanding

    The translation for 'menuCheckPort' uses a placeholder %s which might be unclear in the
    context of the translation. Clarify the placeholder's meaning or adjust the translation to
    be more descriptive about what the placeholder represents.

    core/langs/german.lang [71]

    -menuCheckPort = "Port %s prüfen"
    +menuCheckPort = "Portnummer %s prüfen"
     
    Suggestion importance[1-10]: 5

    Why: The suggestion is valid as it aims to clarify the meaning of a placeholder, which can improve the translation's clarity. However, the impact is relatively minor as the context might still be clear from the surrounding text.

    5
    Enhancement
    Use distinct translations for singular and plural forms to enhance clarity

    Ensure that the translation for 'error' and 'errors' is consistent across the document.
    Currently, 'Fehler' is used for both singular and plural forms which might be confusing.
    Consider using a distinct translation for the plural form if applicable in German.

    core/langs/german.lang [25-78]

     error = "Fehler"
    -menuErrorLogs = "Fehlerlogs"
    +menuErrorLogs = "Fehler-Logs"
     
    Suggestion importance[1-10]: 4

    Why: The suggestion addresses a minor clarity issue. However, in German, "Fehler" can correctly be used for both singular and plural, making this suggestion less impactful.

    4

    Copy link
    Collaborator

    @N6REJ N6REJ left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    we should probably do this one from pr-agent
    debug = "Fehlerbehebung"
    -verboseDebug = "Fehlerbehebung"
    +verboseDebug = "Ausführliche Fehlerbehebung"

    @N6REJ
    Copy link
    Collaborator

    N6REJ commented May 14, 2024

    /improve --pr_code_suggestions.commitable_code_suggestions=true

    @N6REJ
    Copy link
    Collaborator

    N6REJ commented May 14, 2024

    /improve --pr_code_suggestions._rank_suggestions=true

    Comment on lines +6 to +21
    someRunningHint = "%n von %t Dienste ausgeführt"
    noneRunningHint = "Keine der %t Dienste wird ausgeführt"
    locale = "de_DE"

    ; Single
    about = "Über"
    administration = "Administration"
    aliases = "Alias"
    apps = "Anwendungen"
    bins = "Binärdateien"
    changelog = "Änderungsprotokoll"
    console = "Konsole"
    debug = "Fehlerbehebung"
    disabled = "Deaktiviert"
    donate = "Spenden"
    donateVia = "Spenden über %s"

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: Consider using a consistent placeholder format for dynamic content. The current file uses both %s and %n which might lead to confusion or errors in usage. Standardizing on one format, such as %s, can improve maintainability and reduce errors during localization. [maintainability, importance: 7]

    Suggested change
    someRunningHint = "%n von %t Dienste ausgeführt"
    noneRunningHint = "Keine der %t Dienste wird ausgeführt"
    locale = "de_DE"
    ; Single
    about = "Über"
    administration = "Administration"
    aliases = "Alias"
    apps = "Anwendungen"
    bins = "Binärdateien"
    changelog = "Änderungsprotokoll"
    console = "Konsole"
    debug = "Fehlerbehebung"
    disabled = "Deaktiviert"
    donate = "Spenden"
    donateVia = "Spenden über %s"
    someRunningHint = "%s von %t Dienste ausgeführt"
    donateVia = "Spenden über %s"

    errorConfNotFound = "%s Konfigurationsdatei nicht gefunden in %s"
    errorExeNotFound = "%s ausführbare Datei nicht gefunden in %s"
    errorFileNotFound = "%s nicht gefunden in %s"
    errorInvalidParameter = "Ungültiger Parameter '%s' : %s"

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: Ensure that the translation for errorInvalidParameter accurately reflects both the parameter and the error message. The current translation might be unclear because it does not specify what %s refers to. Adding more descriptive placeholders can enhance clarity. [clarity, importance: 6]

    Suggested change
    errorInvalidParameter = "Ungültiger Parameter '%s' : %s"
    errorInvalidParameter = "Ungültiger Parameter '%param%' : %error_message%"

    Comment on lines +88 to +89
    menuRestartService = "Dienst neustarten"
    menuRestartServices = "Alle Dienste neustarten"

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: Avoid potential confusion by using a consistent term for similar actions. For example, menuRestartService and menuRestartServices could be confused. Consider renaming to differentiate single and multiple service actions more clearly. [clarity, importance: 5]

    Suggested change
    menuRestartService = "Dienst neustarten"
    menuRestartServices = "Alle Dienste neustarten"
    menuRestartService = "Einen Dienst neustarten"
    menuRestartServices = "Alle Dienste neustarten"

    menuAddVhost = "Virtueller Host hinzufügen"
    menuChangePort = "Port ändern"
    menuChangeRootPwd = "Root Passwort ändern"
    menuCheckPort = "Port %s prüfen"

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: To avoid runtime errors, ensure that all placeholders in the translation strings are correctly used in the application. For instance, menuCheckPort uses %s which should correspond to a specific variable in the code. Verify that this variable is properly passed to avoid missing placeholder values. [possible bug, importance: 4]

    Suggested change
    menuCheckPort = "Port %s prüfen"
    menuCheckPort = "Port %port_number% prüfen"

    Copy link

    PR Code Suggestions ✨

    CategorySuggestion                                                                                                                                    Score
    Maintainability
    Standardize the placeholders used in string formatting for consistency

    Consider using consistent placeholders across similar messages for better maintainability
    and to avoid confusion. For example, the placeholder for services is sometimes %s and
    other times %n and %t. Standardizing these can reduce errors and improve code readability.

    core/langs/german.lang [6-167]

    -someRunningHint = "%n von %t Dienste ausgeführt"
    +someRunningHint = "%s von %s Dienste ausgeführt"
     serviceInstalled = "%s Dienst erfolgreich installiert.@nl@Name: %s@nl@Port: %s"
     
    Suggestion importance[1-10]: 7

    Why: Standardizing placeholders can indeed improve maintainability and reduce confusion. The suggestion correctly identifies inconsistent use of placeholders and proposes a more consistent approach.

    7
    User experience
    Enhance error messages to provide more detailed troubleshooting information

    To avoid potential confusion and enhance user experience, consider providing a more
    descriptive error message when a service fails to start. The current message does not
    specify the reason for the failure, which could be critical for troubleshooting.

    core/langs/german.lang [178]

    -startServiceError = "Fehler beim Start von Dienst %s."
    +startServiceError = "Fehler beim Start von Dienst %s. Überprüfen Sie die Systemprotokolle für weitere Details."
     
    Suggestion importance[1-10]: 6

    Why: Providing more descriptive error messages can significantly enhance user experience by aiding in troubleshooting. The suggestion is relevant and improves the current message.

    6
    Compatibility
    Avoid using non-standard newline characters in properties files to ensure compatibility across environments

    The use of newline characters (@nl@) in the properties file for formatting purposes might
    not be supported universally and could lead to display issues in some environments.
    Consider using standard localization practices for multi-line messages or handling them in
    the application logic.

    core/langs/german.lang [167]

    -serviceInstalled = "%s Dienst erfolgreich installiert.@nl@Name: %s@nl@Port: %s"
    +serviceInstalled = "%s Dienst erfolgreich installiert. Name: %s, Port: %s"
     
    Suggestion importance[1-10]: 6

    Why: Using standard localization practices is crucial for ensuring compatibility. The suggestion addresses a potential issue with non-standard newline characters, which could affect display across different environments.

    6
    Enhancement
    Use distinct and descriptive translations to avoid ambiguity between similar terms

    The translation for 'verboseDebug' is currently set to 'Fehlerbehebung', which is the same
    as 'debug'. This might lead to confusion. Consider using a more specific term that
    reflects the verbose nature of the debug, such as 'Ausführliche Fehlerbehebung'.

    core/langs/german.lang [55]

    -verboseDebug = "Fehlerbehebung"
    +verboseDebug = "Ausführliche Fehlerbehebung"
     
    Suggestion importance[1-10]: 5

    Why: The suggestion to differentiate between similar terms is valid and can help avoid confusion. However, the impact is relatively minor as it pertains to only one term.

    5

    @N6REJ N6REJ enabled auto-merge May 23, 2024 19:59
    @N6REJ N6REJ disabled auto-merge May 23, 2024 20:00
    @N6REJ N6REJ merged commit 96bf128 into Bearsampp:main May 23, 2024
    5 checks passed
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    None yet

    2 participants