# detectFromCookie

**Kind:** Function

**Source:** [`src/middleware/language/language.ts`](https://github.com/honojs/hono/blob/main/src/middleware/language/language.ts#L145)

**Part of:** [Middleware](subsystem-src-middleware)

Detects language from cookie

`detectFromCookie` reads the language preference stored in a cookie and returns the detected language value. It is used by the language middleware to select a request language before applying language-dependent behavior.

## Signature

```ts
function detectFromCookie(c: Context, options: DetectorOptions): string | undefined
```

## Parameters

| Name | Type |
|---|---|
| `c` | `Context` |
| `options` | `DetectorOptions` |

**Returns:** `string | undefined`

## Diagram

```mermaid
graph LR
  Request[Incoming request] --> Cookie[Cookie header]
  Cookie --> Detect[detectFromCookie]
  Detect --> Language[Detected language]
  Language --> Middleware[Language middleware]
```

## Usage

```ts
import { detectFromCookie } from './middleware/language/language';

const cookieHeader = request.headers.get('cookie') ?? undefined;
const language = detectFromCookie(cookieHeader);

if (language) {
  request.language = language;
}
```

## AI Coding Instructions

- Keep cookie parsing and language detection within `detectFromCookie`; callers should pass the request cookie value rather than parse it themselves.
- Handle missing, malformed, or unsupported cookie values without throwing during request processing.
- Keep detected language values aligned with the languages supported by the language middleware.
- Apply the detected value before fallback language selection so explicit user preferences take precedence.
