GettextOps.Operations.Search (gettext_ops v0.1.1)

View Source

Search operation for finding translation entries by msgid (source text).

This module provides functionality to search for translation entries in .po files by their msgid field, supporting both substring matching (case-insensitive by default) and regex patterns.

Options

  • :locale - (required) The locale to search in (e.g., "sv", "en")
  • :domain - The domain to search in (defaults to configured default_domain)
  • :regex - Boolean, if true treats pattern as regex (default: false)
  • :limit - Maximum number of results to return (default: nil for unlimited)
  • :json - Boolean, if true returns results in JSON format (default: false)

Examples

# Substring search (case-insensitive)
{:ok, messages} = GettextOps.Operations.Search.run("welcome", locale: "sv")

# Regex search
{:ok, messages} = GettextOps.Operations.Search.run("^Error", locale: "sv", regex: true)

# Limited results
{:ok, messages} = GettextOps.Operations.Search.run("button", locale: "sv", limit: 5)

Summary

Functions

Search for translation entries by msgid.

Functions

run(pattern, opts)

@spec run(
  String.t(),
  keyword()
) :: {:ok, [Expo.Message.t()]} | {:error, term()}

Search for translation entries by msgid.

Returns {:ok, messages} on success or {:error, reason} on failure.

Parameters

  • pattern - String pattern to search for
  • opts - Keyword list of options (see module documentation)

Examples

# Substring search
GettextOps.Operations.Search.run("Welcome", locale: "sv")
# => {:ok, [%Expo.Message.Singular{msgid: ["Welcome to Phoenix!"], ...}]}

# Regex search for entries starting with "Error"
GettextOps.Operations.Search.run("^Error", locale: "sv", regex: true)
# => {:ok, [%Expo.Message.Singular{msgid: ["Error: Invalid input"], ...}]}