vibe.linguistics.languages.sv

Swedish language rules for linguistic transformations.

SwedishRules

Swedish grammar rules implementation.

pluralize

pluralize(word: str, context: Linguistic | None = None, overrides: str | None = None) -> str

Convert a Swedish word to its plural form.

Parameters:
  • word (str) –

    The word to pluralize

  • context (Linguistic | None, default: None ) –

    Optional Linguistic context

  • overrides (str | None, default: None ) –

    Optional override string for ad-hoc irregular forms. Format: "singular->plural,singular2->plural2" Example: "gås->gäss,åsna->åsnor"

make_definite

make_definite(word: str, number: str = 'singular', gender: GrammaticalGender | None = None, context: Linguistic | None = None, overrides: str | None = None) -> str

Convert to Swedish definite form (suffix-based).

Swedish uses suffixes for definiteness: - Singular common: -en (boken) - Singular neuter: -et (huset) - Plural common (-or/-ar/-er): -na (varorna, böckerna, tjänsterna) - Plural neuter (-n): -en (husen)

Parameters:
  • word (str) –

    The word to make definite

  • number (str, default: 'singular' ) –

    "singular" or "plural"

  • gender (GrammaticalGender | None, default: None ) –

    Optional gender hint

  • context (Linguistic | None, default: None ) –

    Optional Linguistic context

  • overrides (str | None, default: None ) –

    Optional override string "word->definite,word2->definite2"

make_possessive

make_possessive(word: str, subject: str | None = None, context: Linguistic | None = None, overrides: str | None = None) -> str

Convert to Swedish possessive/genitive form.

Swedish genitives are formed by adding -s to the word. If the word already has a definite suffix, just add 's'. Otherwise, add the appropriate definite suffix + 's'.

Parameters:
  • word (str) –

    The word to make possessive

  • subject (str | None, default: None ) –

    Optional subject to add (e.g., "slut" -> "avtalets slut")

  • context (Linguistic | None, default: None ) –

    Optional Linguistic context

  • overrides (str | None, default: None ) –

    Optional override string "word->possessive,word2->possessive2"

Note: The subject parameter is handled by the transforms layer, not here (unlike English which rephrases the entire expression).

make_indefinite

make_indefinite(word: str, gender: GrammaticalGender | None = None, context: Linguistic | None = None, overrides: str | None = None) -> str

Add Swedish indefinite article (en/ett) to a word.

Swedish indefinite articles depend on grammatical gender: - COMMON (en-words): "en" - NEUTER (ett-words): "ett"

Parameters:
  • word (str) –

    The word to add indefinite article to

  • gender (GrammaticalGender | None, default: None ) –

    Optional gender hint

  • context (Linguistic | None, default: None ) –

    Optional Linguistic context

  • overrides (str | None, default: None ) –

    Optional override string "word->indefinite,word2->indefinite2"

number_to_cardinal

number_to_cardinal(num: int) -> str

Convert number to Swedish words.

number_to_ordinal

number_to_ordinal(num: int) -> str

Convert number to Swedish ordinal words.

format_conjunction

format_conjunction(conjunction_type: str) -> str

Return Swedish conjunction word.

uses_oxford_comma

uses_oxford_comma() -> bool

Swedish does not use the Oxford comma.

get_gender_hint

get_gender_hint(word: str) -> GrammaticalGender | None

Attempt to determine grammatical gender from word form.