# Languages (IRPCLanguages)

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/

Lists the vault's metadata languages and changes the calling user's vault language.

Provides methods for read-only access to languages.

- **gRPC service:** `MFiles.IRPCLanguages`
- **Book and level:** [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md), standard
- **Methods:** 2
- **Proto file:** [`mfiles/IRPCLanguages.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/IRPCLanguages.proto)

<a id="overview"></a>

## Overview

A vault can have translations of its metadata structure (names of classes, properties, value
list items and so on) in several languages. Each user account has a vault language; a new
session starts in it, and the server returns translated names in the session's language.

- [GetLanguages](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/GetLanguages/index.md) lists the languages. ID 0 is the
  default language of the vault, which every vault has.
- [ChangeLanguage](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/ChangeLanguage/index.md) stores another language for the
  calling user and applies it to the current session immediately.

The vault language is separate from `ClientData.language` given at login. After a language
change, names that you cached from earlier responses are in the old language; read them again.

<a id="methods"></a>

## Methods

| Method | Summary | Facts |
|---|---|---|
| [ChangeLanguage](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/ChangeLanguage/index.md) | Changes the vault language of the calling user, for this session and later sessions. | `write` `session` `idempotent` `returns metadata structure version` |
| [GetLanguages](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/GetLanguages/index.md) | Gets the metadata languages defined in the vault. | `read` `session` `idempotent` `returns metadata structure version` |
