Skip to main content
The attributesToTransliterate parameter specifies which attributes should be transliterated when using Japanese. This allows users to search in one writing system, such as Hiragana and match records written in another, such as Kanji or Katakana.

Usage

  • Attribute names are case-sensitive.
  • Only supported for Japanese content.
  • You must set indexLanguages to "ja" for this setting to take effect.
  • "*" applies transliteration to all searchable attributes.

Example

Current API clients

var response = await client.SetSettingsAsync(
  "INDEX_NAME",
  new IndexSettings
  {
    IndexLanguages = new List<SupportedLanguage> { Enum.Parse<SupportedLanguage>("Ja") },
    AttributesToTransliterate = new List<string> { "name", "description" },
  }
);
final response = await client.setSettings(
  indexName: "INDEX_NAME",
  indexSettings: IndexSettings(
    indexLanguages: [
      SupportedLanguage.fromJson("ja"),
    ],
    attributesToTransliterate: [
      "name",
      "description",
    ],
  ),
);
response, err := client.SetSettings(client.NewApiSetSettingsRequest(
  "INDEX_NAME",
  search.NewEmptyIndexSettings().SetIndexLanguages(
    []search.SupportedLanguage{search.SupportedLanguage("ja")}).SetAttributesToTransliterate(
    []string{"name", "description"})))
if err != nil {
  // handle the eventual error
  panic(err)
}
UpdatedAtResponse response = client.setSettings(
  "INDEX_NAME",
  new IndexSettings()
    .setIndexLanguages(Arrays.asList(SupportedLanguage.JA))
    .setAttributesToTransliterate(Arrays.asList("name", "description"))
);
const response = await client.setSettings({
  indexName: 'theIndexName',
  indexSettings: { indexLanguages: ['ja'], attributesToTransliterate: ['name', 'description'] },
});
var response =
  client.setSettings(
    indexName = "INDEX_NAME",
    indexSettings =
      IndexSettings(
        indexLanguages = listOf(SupportedLanguage.entries.first { it.value == "ja" }),
        attributesToTransliterate = listOf("name", "description"),
      ),
  )
$response = $client->setSettings(
    'INDEX_NAME',
    ['indexLanguages' => [
        'ja',
    ],
        'attributesToTransliterate' => [
            'name',

            'description',
        ],
    ],
);
response = client.set_settings(
    index_name="INDEX_NAME",
    index_settings={
        "indexLanguages": [
            "ja",
        ],
        "attributesToTransliterate": [
            "name",
            "description",
        ],
    },
)
response = client.set_settings(
  "INDEX_NAME",
  Algolia::Search::IndexSettings.new(index_languages: ["ja"], attributes_to_transliterate: ["name", "description"])
)
val response = Await.result(
  client.setSettings(
    indexName = "INDEX_NAME",
    indexSettings = IndexSettings(
      indexLanguages = Some(Seq(SupportedLanguage.withName("ja"))),
      attributesToTransliterate = Some(Seq("name", "description"))
    )
  ),
  Duration(100, "sec")
)
let response = try await client.setSettings(
    indexName: "INDEX_NAME",
    indexSettings: IndexSettings(
        attributesToTransliterate: ["name", "description"],
        indexLanguages: [SearchSupportedLanguage.ja]
    )
)
IndexSettings settings = new IndexSettings
{
  IndexLanguages = new List { "ja" }
  AttributesToTransliterate = new List { "name", "description" }
};

// Synchronous
index.SetSettings(settings);

// Asynchronous
await index.SetSettings(settings);
res, err := index.SetSettings(search.Settings{
	IndexLanguages: opt.IndexLanguages("ja"),
	AttributesToTransliterate: opt.AttributesToTransliterate(
		"name",
		"description",
	),
})
IndexSettings setting = new IndexSettings().setIndexLanguages(
  Arrays.asList("ja")
).setAttributesToTransliterate(
  Arrays.asList("name", "description")
);

// Synchronous
index.setSettings(setting);
// Asynchronous
index.setSettingsAsync(setting);
index.setSettings({
  indexLanguages: ["ja"],
  attributesToTransliterate: ["name", "description"],
});
val settings = settings {
    indexLanguages = listOf(Language.Japanese)
    attributesToTransliterate = listOf(Attribute("attribute"))
}
index.setSettings(settings)
$index->set_settings(array(
  'indexLanguages' => ['ja'],
  'attributesToTransliterate' => array(
    'name',
    'description'
  )
));
index.set_settings(
    {"indexLanguages": ["ja"], "attributesToTransliterate": ["name", "description"]}
)
index.set_settings(
  {
    indexLanguages: ["ja"],
    attributesToTransliterate: [
      "name",
      "description"
    ]
  }
)
client.execute {
  setSettings of "myIndex" `with` IndexSettings(
    indexLanguages = Some(Seq("ja")),
    attributesToTransliterate = Some(Seq("Attribute", "*"))
  )
}
let settings = Settings()
  .set(\.indexLanguages, to: [.japanese])
  .set(\.attributesToTransliterate, to: ["name", "description"])

index.setSettings(settings) { result in
  if case .success(let response) = result {
    print("Response: \(response)")
  }
}
Last modified on May 19, 2026