Home

Awesome

Typst-linguify

Load strings for different languages easily. This can be useful if you create a package or template for multilingual usage.

Usage

The usage depends if you are using it inside a package or a template or in your own document.

For end users and own templates

You can use linguify global database.

Example:

#import "@preview/linguify:0.4.1": *

#let lang-data = toml("lang.toml")
#set-database(lang-data)

#set text(lang: "de")

#linguify("abstract")  // Shows "Zusammenfassung" in the document.

The lang.toml musst look like this:

[conf]
default-lang = "en"

[lang.en]
title = "A simple linguify example"
abstract = "Abstract"

[lang.de]
title = "Ein einfaches Linguify Beispiel"
abstract = "Zusammenfassung"

Inside a package

So that multiple packages can use linguify simultaneously, they should contain their own database. A linguify database is just a dictionary with a certain structure. (See database structure.)

Recommend is to store the database in a separate file like lang.toml and load it inside the document. And specify it in each linguify() function call.

Example:

#import "@preview/linguify:0.4.1": *

#let database = toml("lang.toml")

#linguify("key", from: database, default: "key")

Features