use super::MessageKey;
pub fn message(key: MessageKey) -> &'static str {
use MessageKey::*;
match key {
AppTitle => "orbok",
LocalOnlyBadge => "Local Only",
NavSearch => "Search",
NavSources => "Sources",
NavIndexing => "Preparing",
NavStorage => "Storage",
NavModels => "Models",
NavAi => "AI",
NavSettings => "Settings",
SearchPlaceholder => "Search local documents...",
SearchButton => "Search",
SearchNoSourcesTitle => "Nothing to search yet",
SearchNoSourcesBody => "Add a folder or file so orbok can build a local search index.",
SearchAddSource => "Add Source",
SearchNoResults => "No results found",
SearchKeywordOnlyNotice => {
"Search by meaning is not set up yet. Basic search still works."
}
SourcesTitle => "Sources",
SourcesEmptyTitle => "No sources added",
SourcesEmptyBody => {
"Add folders or files that orbok is allowed to search. \
orbok will not scan your entire computer automatically."
}
SourcesAddFolder => "Add Folder",
SourcesStatusActive => "Active",
SourcesStatusPaused => "Paused",
SourcesStatusMissing => "Missing",
IndexingTitle => "Preparing search",
IndexingIdle => "Search is ready",
IndexingHealthIndexed => "Indexed",
IndexingHealthStale => "Stale",
IndexingHealthFailed => "Failed",
IndexingHealthQueued => "Queued",
StorageTitle => "Storage",
StorageIntro => "See what orbok stores and clean up safely.",
StorageGroupSearchIndex => "Search data",
StorageGroupModels => "Search helper",
StorageGroupCaches => "Temporary previews",
StorageSafeCleanupHeading => "Safe cleanup",
StorageClearSnippets => "Clear temporary previews",
StorageClearSearchCache => "Clear old search results",
StorageDangerHeading => "Dangerous",
StorageResetCatalog => "Reset saved app data...",
StorageResetWarning => {
"This removes registered sources and all indexes. \
Your source files are never deleted."
}
ModelsTitle => "Models",
ModelsEmbeddingRole => "Embedding",
ModelsRerankerRole => "Reranker",
ModelsStatusAvailable => "Available",
ModelsStatusMissing => "Missing",
ModelsKeywordOnlyHint => {
"Basic search still works. Add a search helper to also \
search by meaning."
}
SettingsTitle => "Settings",
SettingsLanguageHeading => "Language",
SettingsPrivacyHeading => "Privacy",
SettingsAdvancedHeading => "Advanced view",
SettingsAdvancedOn => "Advanced view: On",
SettingsAdvancedOff => "Advanced view: Off",
SettingsAdvancedHint => "Show technical detail in search results, indexing, and storage.",
SettingsPrivacyLocalOnly => "Documents are processed on this computer only.",
SearchModeLabel => "Mode",
SearchModeAuto => "Auto",
SearchModeExact => "Exact",
SearchModeConceptual => "Conceptual",
SearchModeFast => "Fast",
BadgeKeyword => "Keyword",
BadgeSemantic => "Semantic",
BadgeFused => "Fused",
WizardTitleNotConfigured => "Set up search by meaning",
WizardTitleFileMissing => "Embedding model not found",
WizardTitleValidating => "Checking model folder",
WizardTitleReady => "Embedding model ready",
WizardBodyNotConfigured => {
"Keyword search is ready. To also search by meaning, orbok needs a local AI model on this computer. No files are uploaded — inference runs locally."
}
WizardBodyFileMissing => {
"The model folder is no longer at its expected location. This can happen when a drive is disconnected or files are moved."
}
WizardFilesNeededLabel => "Required files in the folder:",
WizardDownloadHint => "Download: huggingface-cli download intfloat/multilingual-e5-small",
WizardPathInputPlaceholder => "Path to model folder (e.g. ~/models/multilingual-e5-small)",
WizardActionLocate => "Locate model folder",
WizardActionValidate => "Validate",
WizardActionUseModel => "Use this model",
WizardActionContinue => "Continue to orbok",
WizardPathPlaceholder => "Folder path…",
WizardDownloadAction => "Download from HuggingFace",
WizardDownloadProgress => "Downloading model…",
WizardActionSkip => "Skip — use keyword search only",
WizardPreviousPathLabel => "Last known path",
WizardValidationOk => "found",
WizardValidationFail => "not found",
WizardReadyBody => "Semantic search is now available.",
NoticeDownloadFailTitle => "Download did not finish",
NoticeDownloadFailBody => {
"We could not finish the download. Please check your \
connection and try again."
}
NoticeFolderFailTitle => "Folder was not added",
NoticeFolderFailBody => {
"We could not add that folder. Please choose another folder \
or check that you can open it."
}
NoticeSearchFailTitle => "Search did not finish",
NoticeSearchFailBody => "Something went wrong while searching. Please try again.",
NoticeFilesMissingTitle => "Files may have moved",
NoticeFilesMissingBody => {
"Some files are no longer where orbok expected them. This can \
happen if a drive was disconnected or files were moved."
}
NoticeFolderAddedTitle => "Folder added",
NoticeFolderAddedBody => "orbok is preparing your search now.",
NoticeSearchReadyTitle => "Search is ready",
NoticeSearchReadyBody => "Your files are ready to search.",
NoticePreviewsClearedTitle => "Temporary previews cleared",
NoticePreviewsClearedBody => "Freed up space. Your files are untouched.",
NoticeActionTryAgain => "Try again",
NoticeActionChooseFolder => "Choose another folder",
NoticeDismiss => "Dismiss",
Cancel => "Cancel",
Confirm => "Confirm",
}
}