glost-gender
v0.2.1
Published
Grammatical gender extension for GLOST - generates and formats gender data
Maintainers
Readme
glost-gender
Grammatical gender extension for GLOST - generates and formats gender data.
Overview
This package provides grammatical gender support for GLOST documents. It separates gender generation (determining word gender) from gender enhancement (formatting for display).
Note: Grammatical gender is language-specific. Many languages (English, Thai, Japanese) do not have grammatical gender, while others (French, Spanish, German) do.
Installation
pnpm add glost-genderUsage
With Language-Specific Provider
import { createGenderExtension } from "glost-gender";
import { createFrenchGenderProvider } from "glost-fr/extensions";
import { processGLOSTWithExtensionsAsync } from "glost-extensions";
// Create French gender provider
const provider = createFrenchGenderProvider(datasource);
// Create extension pipeline
const [generator, enhancer] = createGenderExtension({
targetLanguage: "fr",
provider
});
// Process document
const result = await processGLOSTWithExtensionsAsync(document, [generator, enhancer]);Gender Types
masculine/male- Masculine genderfeminine/female- Feminine genderneuter- Neuter gender (German, etc.)
API
createGenderGeneratorExtension(options)
Creates extension that determines word gender.
Options:
targetLanguage- ISO-639-1 language codeprovider- GenderProvider instanceskipExisting- Skip words with existing gender (default: true)
createGenderEnhancerExtension(options)
Creates extension that formats gender data.
Options:
normalize- Normalize gender values (default: true)
createGenderExtension(options)
Convenience function that creates both generator and enhancer.
Returns: [generator, enhancer]
License
MIT
