UNPKG

web3-error-helper

Version:

> 🛠️ Turn confusing Web3 errors into clear, human-friendly messages for developers and users alike.

207 lines (206 loc) 6.89 kB
/** * Default language configuration for web3-error-helper * * This module defines the blockchain-focused language metadata and priorities * based on actual blockchain market adoption and user base. Follows the same * patterns and standards as other configuration modules. */ import { LanguageInfo, LanguageCode } from '../types/i18n'; export declare const DEFAULT_LANGUAGES: { readonly en: { readonly name: "English"; readonly nativeName: "English"; readonly region: "Global"; readonly priority: 1; readonly blockchainMarket: "Global standard, all major protocols"; }; readonly zh: { readonly name: "Chinese (Simplified)"; readonly nativeName: "中文 (简体)"; readonly region: "China, Singapore"; readonly priority: 1; readonly blockchainMarket: "Huge crypto market despite restrictions"; }; readonly es: { readonly name: "Spanish"; readonly nativeName: "Español"; readonly region: "Latin America, Spain, US"; readonly priority: 1; readonly blockchainMarket: "Growing Latin American DeFi adoption"; }; readonly pt: { readonly name: "Portuguese"; readonly nativeName: "Português"; readonly region: "Brazil, Portugal, Africa"; readonly priority: 2; readonly blockchainMarket: "Brazil major crypto market"; }; readonly ja: { readonly name: "Japanese"; readonly nativeName: "日本語"; readonly region: "Japan"; readonly priority: 2; readonly blockchainMarket: "Major crypto trading hub"; }; readonly ko: { readonly name: "Korean"; readonly nativeName: "한국어"; readonly region: "South Korea"; readonly priority: 2; readonly blockchainMarket: "Very high crypto adoption"; }; readonly de: { readonly name: "German"; readonly nativeName: "Deutsch"; readonly region: "Germany, Austria, Switzerland"; readonly priority: 2; readonly blockchainMarket: "Strong European crypto market"; }; readonly ru: { readonly name: "Russian"; readonly nativeName: "Русский"; readonly region: "Russia, Eastern Europe"; readonly priority: 2; readonly blockchainMarket: "High crypto adoption"; }; readonly hi: { readonly name: "Hindi"; readonly nativeName: "हिन्दी"; readonly region: "India"; readonly priority: 2; readonly blockchainMarket: "India massive crypto market"; }; readonly ar: { readonly name: "Arabic"; readonly nativeName: "العربية"; readonly region: "Middle East, North Africa"; readonly priority: 2; readonly blockchainMarket: "Growing Middle Eastern markets"; }; readonly tr: { readonly name: "Turkish"; readonly nativeName: "Türkçe"; readonly region: "Turkey"; readonly priority: 3; readonly blockchainMarket: "High crypto adoption"; }; readonly vi: { readonly name: "Vietnamese"; readonly nativeName: "Tiếng Việt"; readonly region: "Vietnam"; readonly priority: 3; readonly blockchainMarket: "Growing crypto adoption"; }; readonly th: { readonly name: "Thai"; readonly nativeName: "ไทย"; readonly region: "Thailand"; readonly priority: 3; readonly blockchainMarket: "Growing crypto market"; }; readonly id: { readonly name: "Indonesian"; readonly nativeName: "Bahasa Indonesia"; readonly region: "Indonesia, Malaysia"; readonly priority: 3; readonly blockchainMarket: "Large population, growing adoption"; }; readonly pl: { readonly name: "Polish"; readonly nativeName: "Polski"; readonly region: "Poland"; readonly priority: 3; readonly blockchainMarket: "Growing European market"; }; readonly uk: { readonly name: "Ukrainian"; readonly nativeName: "Українська"; readonly region: "Ukraine"; readonly priority: 3; readonly blockchainMarket: "Crypto adoption due to conflict"; }; readonly he: { readonly name: "Hebrew"; readonly nativeName: "עברית"; readonly region: "Israel"; readonly priority: 3; readonly blockchainMarket: "Israel tech/crypto scene"; }; readonly fr: { readonly name: "French"; readonly nativeName: "Français"; readonly region: "France, Canada, Africa"; readonly priority: 3; readonly blockchainMarket: "European market"; }; readonly it: { readonly name: "Italian"; readonly nativeName: "Italiano"; readonly region: "Italy, Switzerland"; readonly priority: 3; readonly blockchainMarket: "European market"; }; readonly nl: { readonly name: "Dutch"; readonly nativeName: "Nederlands"; readonly region: "Netherlands, Belgium"; readonly priority: 3; readonly blockchainMarket: "European market"; }; }; export type DefaultLanguageCode = keyof typeof DEFAULT_LANGUAGES; export declare const LANGUAGE_PRIORITY_GROUPS: { readonly TIER_1: readonly ["en", "zh", "es"]; readonly TIER_2: readonly ["pt", "ja", "ko", "de", "ru", "hi", "ar"]; readonly TIER_3: readonly ["tr", "vi", "th", "id", "pl", "uk", "he", "fr", "it", "nl"]; }; /** * Get all available language codes */ export declare function getAvailableLanguageCodes(): LanguageCode[]; /** * Get language info by code */ export declare function getLanguageInfo(code: string): LanguageInfo | null; /** * Get languages by priority tier */ export declare function getLanguagesByTier(tier: 1 | 2 | 3): string[]; /** * Get all languages sorted by priority */ export declare function getLanguagesByPriority(): string[]; /** * Check if a language code is supported */ export declare function isLanguageSupported(code: string): boolean; /** * Get similar language codes (e.g., 'en-US' -> 'en') */ export declare function getBaseLanguageCode(code: string): string; /** * Find similar languages based on base code */ export declare function findSimilarLanguages(code: string): string[]; /** * Get regional language suggestions */ export declare function getRegionalLanguageSuggestions(region: string): string[]; /** * Get blockchain market size estimate */ export declare function getBlockchainMarketSize(code: string): 'large' | 'medium' | 'small'; /** * Get language statistics */ export declare function getLanguageStatistics(): { total: number; tier1: 3; tier2: 7; tier3: 10; coverage: { large: 3; medium: 7; small: 10; }; };