Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
331 changes: 331 additions & 0 deletions website/locales/Translate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,331 @@
-- =============================================
-- EXPLOREPI LANGUAGE DATA INSTALLATION
-- Complete Multi-Language Support
-- =============================================

USE explorepi;

-- Clear existing language data (optional)
-- TRUNCATE TABLE language_data;

-- =============================================
-- ENGLISH (en) - Complete Translation
-- =============================================

INSERT INTO language_data (lang_code, lang_key, lang_value, category) VALUES
-- Navigation
('en', 'nav.home', 'Home', 'navigation'),
('en', 'nav.blocks', 'Blocks', 'navigation'),
('en', 'nav.transactions', 'Transactions', 'navigation'),
('en', 'nav.tokens', 'Tokens', 'navigation'),
('en', 'nav.contracts', 'Contracts', 'navigation'),
('en', 'nav.statistics', 'Statistics', 'navigation'),
('en', 'nav.search', 'Search', 'navigation'),
('en', 'nav.about', 'About', 'navigation'),
('en', 'nav.api', 'API', 'navigation'),

-- Common Terms
('en', 'common.loading', 'Loading...', 'common'),
('en', 'common.error', 'Error', 'common'),
('en', 'common.success', 'Success', 'common'),
('en', 'common.warning', 'Warning', 'common'),
('en', 'common.info', 'Information', 'common'),
('en', 'common.block', 'Block', 'common'),
('en', 'common.transaction', 'Transaction', 'common'),
('en', 'common.address', 'Address', 'common'),
('en', 'common.token', 'Token', 'common'),
('en', 'common.contract', 'Smart Contract', 'common'),
('en', 'common.view_all', 'View All', 'common'),
('en', 'common.view_more', 'View More', 'common'),
('en', 'common.details', 'Details', 'common'),
('en', 'common.copy', 'Copy', 'common'),
('en', 'common.copied', 'Copied!', 'common'),
('en', 'common.ago', 'ago', 'common'),
('en', 'common.total', 'Total', 'common'),
('en', 'common.amount', 'Amount', 'common'),
('en', 'common.price', 'Price', 'common'),
('en', 'common.value', 'Value', 'common'),

-- Search
('en', 'search.placeholder', 'Search by Address / Txn Hash / Block / Token', 'search'),
('en', 'search.searching', 'Searching...', 'search'),
('en', 'search.no_results', 'No results found', 'search'),
('en', 'search.invalid_input', 'Invalid search input', 'search'),
('en', 'search.enter_query', 'Enter your search query', 'search'),

-- Home Page
('en', 'home.title', 'Pi Network Block Explorer', 'home'),
('en', 'home.subtitle', 'Explore the Pi Blockchain', 'home'),
('en', 'home.latest_blocks', 'Latest Blocks', 'home'),
('en', 'home.latest_transactions', 'Latest Transactions', 'home'),
('en', 'home.network_stats', 'Network Statistics', 'home'),
('en', 'home.total_blocks', 'Total Blocks', 'home'),
('en', 'home.total_transactions', 'Total Transactions', 'home'),
('en', 'home.total_addresses', 'Total Addresses', 'home'),
('en', 'home.avg_block_time', 'Avg Block Time', 'home'),
('en', 'home.welcome', 'Welcome to Pi Network Explorer', 'home'),

-- Block Details
('en', 'block.height', 'Block Height', 'block'),
('en', 'block.hash', 'Block Hash', 'block'),
('en', 'block.parent_hash', 'Parent Hash', 'block'),
('en', 'block.timestamp', 'Timestamp', 'block'),
('en', 'block.transactions', 'Transactions', 'block'),
('en', 'block.miner', 'Miner', 'block'),
('en', 'block.difficulty', 'Difficulty', 'block'),
('en', 'block.total_difficulty', 'Total Difficulty', 'block'),
('en', 'block.size', 'Size', 'block'),
('en', 'block.gas_used', 'Gas Used', 'block'),
('en', 'block.gas_limit', 'Gas Limit', 'block'),
('en', 'block.nonce', 'Nonce', 'block'),
('en', 'block.state_root', 'State Root', 'block'),
('en', 'block.receipts_root', 'Receipts Root', 'block'),
('en', 'block.transactions_root', 'Transactions Root', 'block'),
('en', 'block.extra_data', 'Extra Data', 'block'),
('en', 'block.not_found', 'Block not found', 'block'),
('en', 'block.overview', 'Block Overview', 'block'),

-- Transaction Details
('en', 'tx.hash', 'Transaction Hash', 'transaction'),
('en', 'tx.status', 'Status', 'transaction'),
('en', 'tx.success', 'Success', 'transaction'),
('en', 'tx.failed', 'Failed', 'transaction'),
('en', 'tx.pending', 'Pending', 'transaction'),
('en', 'tx.block', 'Block', 'transaction'),
('en', 'tx.from', 'From', 'transaction'),
('en', 'tx.to', 'To', 'transaction'),
('en', 'tx.contract_creation', 'Contract Creation', 'transaction'),
('en', 'tx.value', 'Value', 'transaction'),
('en', 'tx.fee', 'Transaction Fee', 'transaction'),
('en', 'tx.gas_price', 'Gas Price', 'transaction'),
('en', 'tx.gas_limit', 'Gas Limit', 'transaction'),
('en', 'tx.gas_used', 'Gas Used', 'transaction'),
('en', 'tx.nonce', 'Nonce', 'transaction'),
('en', 'tx.input_data', 'Input Data', 'transaction'),
('en', 'tx.logs', 'Logs', 'transaction'),
('en', 'tx.not_found', 'Transaction not found', 'transaction'),

-- Address Details
('en', 'address.overview', 'Address Overview', 'address'),
('en', 'address.balance', 'Balance', 'address'),
('en', 'address.transactions', 'Transactions', 'address'),
('en', 'address.token_transfers', 'Token Transfers', 'address'),
('en', 'address.is_contract', 'Smart Contract', 'address'),
('en', 'address.creator', 'Creator', 'address'),
('en', 'address.creation_tx', 'Creation Transaction', 'address'),
('en', 'address.first_seen', 'First Seen', 'address'),
('en', 'address.last_seen', 'Last Seen', 'address'),
('en', 'address.not_found', 'Address not found', 'address'),

-- Token Details
('en', 'token.name', 'Token Name', 'token'),
('en', 'token.symbol', 'Symbol', 'token'),
('en', 'token.decimals', 'Decimals', 'token'),
('en', 'token.total_supply', 'Total Supply', 'token'),
('en', 'token.holders', 'Holders', 'token'),
('en', 'token.transfers', 'Transfers', 'token'),
('en', 'token.type', 'Token Type', 'token'),
('en', 'token.contract', 'Contract Address', 'token'),
('en', 'token.not_found', 'Token not found', 'token'),

-- Contract Details
('en', 'contract.address', 'Contract Address', 'contract'),
('en', 'contract.creator', 'Creator', 'contract'),
('en', 'contract.creation_tx', 'Creation Transaction', 'contract'),
('en', 'contract.creation_block', 'Creation Block', 'contract'),
('en', 'contract.verified', 'Verified', 'contract'),
('en', 'contract.unverified', 'Not Verified', 'contract'),
('en', 'contract.source_code', 'Source Code', 'contract'),
('en', 'contract.abi', 'Contract ABI', 'contract'),
('en', 'contract.bytecode', 'Bytecode', 'contract'),
('en', 'contract.compiler_version', 'Compiler Version', 'contract'),
('en', 'contract.optimization', 'Optimization', 'contract'),
('en', 'contract.runs', 'Runs', 'contract'),
('en', 'contract.not_found', 'Contract not found', 'contract'),

-- Time Units
('en', 'time.seconds', 'seconds', 'time'),
('en', 'time.minutes', 'minutes', 'time'),
('en', 'time.hours', 'hours', 'time'),
('en', 'time.days', 'days', 'time'),
('en', 'time.months', 'months', 'time'),
('en', 'time.years', 'years', 'time'),
('en', 'time.ago', 'ago', 'time'),
('en', 'time.just_now', 'just now', 'time'),

-- Error Messages
('en', 'error.general', 'An error occurred', 'error'),
('en', 'error.not_found', 'Not found', 'error'),
('en', 'error.invalid_address', 'Invalid address', 'error'),
('en', 'error.invalid_tx_hash', 'Invalid transaction hash', 'error'),
('en', 'error.invalid_block', 'Invalid block number', 'error'),
('en', 'error.database', 'Database error', 'error'),
('en', 'error.network', 'Network error', 'error'),
('en', 'error.connection', 'Connection error', 'error');

-- =============================================
-- CHINESE (zh) - 中文翻译
-- =============================================

INSERT INTO language_data (lang_code, lang_key, lang_value, category) VALUES
('zh', 'nav.home', '首页', 'navigation'),
('zh', 'nav.blocks', '区块', 'navigation'),
('zh', 'nav.transactions', '交易', 'navigation'),
('zh', 'nav.tokens', '代币', 'navigation'),
('zh', 'nav.contracts', '合约', 'navigation'),
('zh', 'nav.statistics', '统计', 'navigation'),
('zh', 'nav.search', '搜索', 'navigation'),

('zh', 'common.loading', '加载中...', 'common'),
('zh', 'common.error', '错误', 'common'),
('zh', 'common.success', '成功', 'common'),
('zh', 'common.block', '区块', 'common'),
('zh', 'common.transaction', '交易', 'common'),
('zh', 'common.address', '地址', 'common'),
('zh', 'common.token', '代币', 'common'),
('zh', 'common.view_all', '查看全部', 'common'),
('zh', 'common.details', '详情', 'common'),

('zh', 'search.placeholder', '搜索地址 / 交易哈希 / 区块 / 代币', 'search'),
('zh', 'search.no_results', '未找到结果', 'search'),

('zh', 'home.title', 'Pi网络区块浏览器', 'home'),
('zh', 'home.latest_blocks', '最新区块', 'home'),
('zh', 'home.latest_transactions', '最新交易', 'home'),
('zh', 'home.total_blocks', '总区块数', 'home'),

('zh', 'block.height', '区块高度', 'block'),
('zh', 'block.hash', '区块哈希', 'block'),
('zh', 'block.timestamp', '时间戳', 'block'),
('zh', 'block.transactions', '交易', 'block'),
('zh', 'block.miner', '矿工', 'block'),

('zh', 'tx.hash', '交易哈希', 'transaction'),
('zh', 'tx.status', '状态', 'transaction'),
('zh', 'tx.success', '成功', 'transaction'),
('zh', 'tx.failed', '失败', 'transaction'),
('zh', 'tx.from', '发送方', 'transaction'),
('zh', 'tx.to', '接收方', 'transaction');

-- =============================================
-- SPANISH (es) - Español
-- =============================================

INSERT INTO language_data (lang_code, lang_key, lang_value, category) VALUES
('es', 'nav.home', 'Inicio', 'navigation'),
('es', 'nav.blocks', 'Bloques', 'navigation'),
('es', 'nav.transactions', 'Transacciones', 'navigation'),
('es', 'nav.tokens', 'Tokens', 'navigation'),
('es', 'nav.contracts', 'Contratos', 'navigation'),
('es', 'nav.statistics', 'Estadísticas', 'navigation'),
('es', 'nav.search', 'Buscar', 'navigation'),

('es', 'common.loading', 'Cargando...', 'common'),
('es', 'common.error', 'Error', 'common'),
('es', 'common.success', 'Éxito', 'common'),
('es', 'common.block', 'Bloque', 'common'),
('es', 'common.transaction', 'Transacción', 'common'),
('es', 'common.address', 'Dirección', 'common'),
('es', 'common.token', 'Token', 'common'),
('es', 'common.view_all', 'Ver Todo', 'common'),
('es', 'common.details', 'Detalles', 'common'),

('es', 'search.placeholder', 'Buscar por Dirección / Hash de Tx / Bloque / Token', 'search'),
('es', 'search.no_results', 'No se encontraron resultados', 'search'),

('es', 'home.title', 'Explorador de Bloques de Pi Network', 'home'),
('es', 'home.latest_blocks', 'Últimos Bloques', 'home'),
('es', 'home.latest_transactions', 'Últimas Transacciones', 'home'),

('es', 'block.height', 'Altura del Bloque', 'block'),
('es', 'block.hash', 'Hash del Bloque', 'block'),
('es', 'block.timestamp', 'Marca de Tiempo', 'block'),
('es', 'block.transactions', 'Transacciones', 'block'),

('es', 'tx.hash', 'Hash de Transacción', 'transaction'),
('es', 'tx.status', 'Estado', 'transaction'),
('es', 'tx.success', 'Éxito', 'transaction'),
('es', 'tx.failed', 'Fallido', 'transaction');

-- =============================================
-- FRENCH (fr) - Français
-- =============================================

INSERT INTO language_data (lang_code, lang_key, lang_value, category) VALUES
('fr', 'nav.home', 'Accueil', 'navigation'),
('fr', 'nav.blocks', 'Blocs', 'navigation'),
('fr', 'nav.transactions', 'Transactions', 'navigation'),
('fr', 'nav.tokens', 'Jetons', 'navigation'),
('fr', 'nav.contracts', 'Contrats', 'navigation'),
('fr', 'nav.search', 'Rechercher', 'navigation'),

('fr', 'common.loading', 'Chargement...', 'common'),
('fr', 'common.error', 'Erreur', 'common'),
('fr', 'common.block', 'Bloc', 'common'),
('fr', 'common.transaction', 'Transaction', 'common'),
('fr', 'common.address', 'Adresse', 'common'),
('fr', 'common.details', 'Détails', 'common'),

('fr', 'search.placeholder', 'Rechercher par Adresse / Hash / Bloc / Jeton', 'search'),

('fr', 'home.title', 'Explorateur de Blocs Pi Network', 'home'),
('fr', 'home.latest_blocks', 'Derniers Blocs', 'home'),
('fr', 'home.latest_transactions', 'Dernières Transactions', 'home');

-- =============================================
-- GERMAN (de) - Deutsch
-- =============================================

INSERT INTO language_data (lang_code, lang_key, lang_value, category) VALUES
('de', 'nav.home', 'Startseite', 'navigation'),
('de', 'nav.blocks', 'Blöcke', 'navigation'),
('de', 'nav.transactions', 'Transaktionen', 'navigation'),
('de', 'nav.tokens', 'Token', 'navigation'),
('de', 'nav.contracts', 'Verträge', 'navigation'),
('de', 'nav.search', 'Suchen', 'navigation'),

('de', 'common.loading', 'Laden...', 'common'),
('de', 'common.error', 'Fehler', 'common'),
('de', 'common.block', 'Block', 'common'),
('de', 'common.transaction', 'Transaktion', 'common'),
('de', 'common.address', 'Adresse', 'common'),
('de', 'common.details', 'Details', 'common'),

('de', 'home.title', 'Pi Network Block Explorer', 'home'),
('de', 'home.latest_blocks', 'Neueste Blöcke', 'home'),
('de', 'home.latest_transactions', 'Neueste Transaktionen', 'home');

-- =============================================
-- JAPANESE (ja) - 日本語
-- =============================================

INSERT INTO language_data (lang_code, lang_key, lang_value, category) VALUES
('ja', 'nav.home', 'ホーム', 'navigation'),
('ja', 'nav.blocks', 'ブロック', 'navigation'),
('ja', 'nav.transactions', 'トランザクション', 'navigation'),
('ja', 'nav.tokens', 'トークン', 'navigation'),
('ja', 'nav.search', '検索', 'navigation'),

('ja', 'common.loading', '読み込み中...', 'common'),
('ja', 'common.error', 'エラー', 'common'),
('ja', 'common.block', 'ブロック', 'common'),
('ja', 'common.transaction', 'トランザクション', 'common'),
('ja', 'common.address', 'アドレス', 'common'),

('ja', 'home.title', 'Piネットワーク ブロックエクスプローラー', 'home'),
('ja', 'home.latest_blocks', '最新ブロック', 'home'),
('ja', 'home.latest_transactions', '最新トランザクション', 'home');

-- =============================================
-- VERIFY INSTALLATION
-- =============================================

SELECT
lang_code,
COUNT(*) as total_translations,
COUNT(DISTINCT category) as categories
FROM language_data
GROUP BY lang_code
ORDER BY lang_code;

SELECT 'Language data installation completed!' AS status;