# How to Configure the Response Language for Multi-Language Log Analysis in LogSentinelAI

> Configure LogSentinelAI response language for multi-language log analysis. Set the RESPONSE_LANGUAGE variable to control LLM output language for summaries and insights.

- Repository: [JungJungIn/logsentinelai](https://github.com/call518/logsentinelai)
- Tags: how-to-guide
- Published: 2026-02-26

---

**Set the `RESPONSE_LANGUAGE` environment variable or `.env` entry to control the output language of all LLM-generated summaries, recommendations, and statistical descriptions.**

LogSentinelAI (call518/logsentinelai) generates AI-powered log analysis reports in multiple languages through a centralized configuration system. The response language setting determines whether the LLM outputs insights in English, Korean, Spanish, or any other supported language, ensuring consistent multilingual reporting across HTTP access logs, Apache errors, Linux system logs, and generic text files.

## How Response Language Configuration Works in LogSentinelAI

The language for all generated content is controlled centrally by the **`RESPONSE_LANGUAGE`** configuration value. In [`src/logsentinelai/core/config.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/config.py) at line 82, the system reads this setting from the environment with a default fallback to Korean:

```python

# src/logsentinelai/core/config.py – line 82

RESPONSE_LANGUAGE = os.getenv("RESPONSE_LANGUAGE", "korean")

```

This global variable propagates through the analysis pipeline and ultimately determines the language token injected into every LLM prompt.

## Setting the Response Language

You can configure the output language through environment variables or programmatic overrides.

### Via Environment Variable or `.env` File

The simplest method uses a `.env` file in the project root or a shell environment variable. The configuration loader in [`src/logsentinelai/core/config.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/config.py) automatically reads `RESPONSE_LANGUAGE` during startup when `apply_config()` is called.

Create or edit `.env`:

```dotenv

# .env

RESPONSE_LANGUAGE=english

```

For one-off runs without modifying files:

```bash
RESPONSE_LANGUAGE=spanish python -m logsentinelai.cli run --log-type httpd_access

```

### Runtime Override in Python

For custom scripts using the Python API, modify the configuration dictionary returned by `get_analysis_config()`:

```python
from logsentinelai.core.config import get_analysis_config, apply_config

# Load defaults and .env file

apply_config()

# Retrieve configuration dict

config = get_analysis_config(
    log_type="linux_system",
    remote_mode="local",
    ssh_config=None,
)

# Override language for this specific analysis

config["response_language"] = "french"

# Use config in your processing pipeline

```

## How the Language Token Propagates Through the Pipeline

The response language flows through three key stages from configuration to LLM prompt:

1. **Configuration Assembly**: The `get_analysis_config()` function in [`src/logsentinelai/core/config.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/config.py) (lines 38-44) includes the language in the returned configuration dictionary under the key `response_language`.

2. **Template Preparation**: Every prompt template in [`src/logsentinelai/core/prompts.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/prompts.py) contains a language placeholder. At lines 55-57, the template includes:

   ```text
   LANGUAGE: {response_language}
   ```

3. **Runtime Formatting**: When preparing log chunks for analysis, `prepare_chunk_for_analysis()` in [`src/logsentinelai/core/commons.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/commons.py) (lines 20-24) substitutes the placeholder with the actual language value:

   ```python
   prompt = prompt_template.format(
       logs=logs,
       model_schema=model_schema,
       response_language=response_language
   )
   ```

Because this is a single global setting, all log types processed in the same execution share the same output language, guaranteeing consistency across HTTP access logs, Apache error logs, and Linux system logs.

## Verifying the Language Configuration

To confirm the language is correctly set before sending requests to the LLM, inspect the formatted prompt template:

```python
from logsentinelai.core.prompts import get_linux_system_prompt

prompt_template = get_linux_system_prompt()
example_prompt = prompt_template.format(
    logs="Mar 10 12:00:00 localhost sshd[1234]: Accepted password for user",
    model_schema="{}",
    response_language="german"
)

print(example_prompt)  # Contains "LANGUAGE: german"

```

This verification ensures the `{response_language}` token is properly replaced before the LLM generates its analysis.

## Summary

- **Centralized control**: The `RESPONSE_LANGUAGE` environment variable (default: `korean`) governs all LLM output language in [`src/logsentinelai/core/config.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/config.py).
- **Three configuration methods**: Use `.env` files, shell environment variables, or direct dictionary manipulation in Python.
- **Token injection**: The system injects the language into prompts via the `{response_language}` placeholder defined in [`src/logsentinelai/core/prompts.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/prompts.py) and rendered in [`src/logsentinelai/core/commons.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/commons.py).
- **Global consistency**: All log analyses in a single run share the same response language, ensuring uniform multilingual reporting.

## Frequently Asked Questions

### What languages are supported by LogSentinelAI?

LogSentinelAI supports any language the underlying LLM can generate, including English, Korean, Spanish, Chinese, French, and German. The `RESPONSE_LANGUAGE` value accepts free-form language names (e.g., "english", "korean") that the LLM recognizes in its instructions.

### Can I analyze logs in one language and get reports in another?

Yes. The response language is independent of the input log content. You can analyze English log files while receiving AI-generated summaries in Korean or Spanish by setting `RESPONSE_LANGUAGE` to your desired output language. The LLM processes the log content regardless of its original language.

### Where is the response language stored during execution?

The language is stored in the global configuration dictionary returned by `get_analysis_config()` in [`src/logsentinelai/core/config.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/config.py). This dictionary passes through the CLI entry point ([`src/logsentinelai/cli.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/cli.py)) down to the prompt formatting functions in [`src/logsentinelai/core/commons.py`](https://github.com/call518/logsentinelai/blob/main/src/logsentinelai/core/commons.py), ensuring the value persists throughout the analysis lifecycle.

### How do I debug if the wrong language appears in outputs?

First, verify your `.env` file or environment variable is correctly set. Then, use the verification code snippet from the "Verifying the Language Configuration" section to print the formatted prompt and check that the `LANGUAGE:` line shows your intended value. If the prompt shows the correct language but the LLM responds differently, verify that your LLM provider supports multilingual outputs.