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
TypeScript
/**
* 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;
};
};