From 569e358e687142c9dc6529cebef17622c7bc44be Mon Sep 17 00:00:00 2001 From: Chih Cheng Liang Date: Tue, 23 Jan 2024 18:39:50 +0800 Subject: [PATCH] Import terms from Ethereum.org Translations' Glossary (#20) Co-authored-by: Sloth Service <155435374+slothservice@users.noreply.github.com> --- .github/workflows/format.yaml | 2 +- .gitignore | 3 +- Cargo.lock | 88 ++- Cargo.toml | 2 + Makefile | 2 +- src/bin/parse_tbx.rs | 120 ++++ src/lib.rs | 1 + terms.toml | 998 +++++++++++++++++++++++++++++++++- untranslated.txt | 30 + 9 files changed, 1220 insertions(+), 26 deletions(-) create mode 100644 src/bin/parse_tbx.rs create mode 100644 src/lib.rs create mode 100644 untranslated.txt diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml index 30b301a..6114e86 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/format.yaml @@ -31,4 +31,4 @@ jobs: - name: Check term sorting run: | cargo build - cargo run -- --check \ No newline at end of file + cargo run --bin terms -- --check diff --git a/.gitignore b/.gitignore index 4670b3f..720a7e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target index.html -build/index.html \ No newline at end of file +build/index.html +*.tbx \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 834da32..a102ae3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,15 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "aho-corasick" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" +dependencies = [ + "memchr", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -24,11 +33,17 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "proc-macro2" @@ -48,6 +63,35 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "regex" +version = "1.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + [[package]] name = "serde" version = "1.0.164" @@ -57,6 +101,18 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-xml-rs" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65162e9059be2f6a3421ebbb4fef3e74b7d9e7c60c50a0e292c6239f19f1edfa" +dependencies = [ + "log", + "serde", + "thiserror", + "xml-rs", +] + [[package]] name = "serde_derive" version = "1.0.164" @@ -92,10 +148,32 @@ dependencies = [ name = "terms" version = "0.1.0" dependencies = [ + "regex", "serde", + "serde-xml-rs", "toml", ] +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "toml" version = "0.7.4" @@ -144,3 +222,9 @@ checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" dependencies = [ "memchr", ] + +[[package]] +name = "xml-rs" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" diff --git a/Cargo.toml b/Cargo.toml index 431b0d3..3d5ad2c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,3 +8,5 @@ edition = "2021" [dependencies] serde = { version="1.0.164", features=["derive"]} toml = "0.7.4" +serde-xml-rs = "0.5" +regex = "1.9.6" diff --git a/Makefile b/Makefile index c18a3ad..9007c1d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Run the main script .PHONY: run run: - cargo run --release + cargo run --release --bin terms # Default target diff --git a/src/bin/parse_tbx.rs b/src/bin/parse_tbx.rs new file mode 100644 index 0000000..ba65ab3 --- /dev/null +++ b/src/bin/parse_tbx.rs @@ -0,0 +1,120 @@ +use std::{ + fs::{self, File}, + io::Write, +}; + +use regex::Regex; +use serde::Deserialize; +use serde_xml_rs::from_str; +use terms::terms::{Term, Terms}; + +#[derive(Debug, Deserialize)] +struct LangSet { + #[serde(rename = "xmllang")] + lang: String, + #[serde(rename = "tig")] + tig: Tig, +} + +#[derive(Debug, Deserialize)] +struct Tig { + #[serde(rename = "term")] + term: String, + #[serde(rename = "termNote")] + _term_note: Option, +} + +#[derive(Debug, Deserialize)] +struct TermNote { + #[serde(rename = "type")] + _note_type: String, +} + +fn main() { + // Specify the file path to your XML file + let file_path = "Ethereum.org_Translationss_Glossary.tbx"; + + // Read the XML data from the file into a string + let mut xml_str = match fs::read_to_string(file_path) { + Ok(content) => content, + Err(err) => { + eprintln!("Error reading the XML file: {:?}", err); + return; + } + }; + + // Define a regular expression pattern to find 'xml:lang' + let pattern = r#"xml:lang"#; + let regex = Regex::new(pattern).unwrap(); + + // Replace 'xml:lang' with 'xmllang' throughout the XML string + xml_str = regex.replace_all(&xml_str, "xmllang").to_string(); + + let parsed: Result = from_str(&xml_str); + + let path = "terms.toml"; + let mut terms = Terms::load_terms(path).unwrap(); + + let file_path = "untranslated.txt"; + let mut untranslated = File::create(file_path).unwrap(); + + match parsed { + Ok(data) => { + // Iterate through langSet elements and print zh-TW translations + for entry in data.text.body.term_entry.iter() { + let en = entry.lang_set.iter().find(|lang_set| lang_set.lang == "en"); + let zh_tw = entry + .lang_set + .iter() + .find(|lang_set| lang_set.lang == "zh-TW"); + if let Some(en) = en { + if let Some(zh_tw) = zh_tw { + let term = Term { + term: en.tig.term.to_string(), + tags: vec![], + translation: zh_tw.tig.term.to_string(), + }; + terms.terms.push(term); + } else { + let line = format!("untranslated: {}", en.tig.term); + println!("{}", line); + untranslated.write_all(line.as_bytes()).unwrap(); + untranslated.write_all(b"\n").unwrap(); + } + } + } + } + Err(e) => { + eprintln!("Error parsing XML: {:?}", e); + } + } + terms.sort_terms(); + terms.to_file(path).unwrap(); +} + +#[derive(Debug, Deserialize)] +#[allow(non_camel_case_types)] +struct martif { + #[serde(rename = "xmllang")] + _lang: String, + #[serde(rename = "text")] + text: Text, +} + +#[derive(Debug, Deserialize)] +struct Text { + #[serde(rename = "body")] + body: Body, +} + +#[derive(Debug, Deserialize)] +struct Body { + #[serde(rename = "termEntry")] + term_entry: Vec, +} + +#[derive(Debug, Deserialize)] +struct TermEntry { + #[serde(rename = "langSet")] + lang_set: Vec, +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..8429e7a --- /dev/null +++ b/src/lib.rs @@ -0,0 +1 @@ +pub mod terms; diff --git a/terms.toml b/terms.toml index 96d34ce..ebbab9b 100644 --- a/terms.toml +++ b/terms.toml @@ -1,69 +1,1025 @@ +[[terms]] +term = "3Box" +tags = [] +translation = "3Box" + +[[terms]] +term = "51% attack" +tags = [] +translation = "51% 攻擊" + +[[terms]] +term = "ABI" +tags = [] +translation = "ABI" + +[[terms]] +term = "Account" +tags = [] +translation = "帳戶" + +[[terms]] +term = "Address" +tags = [] +translation = "地址" + +[[terms]] +term = "ASICs" +tags = [] +translation = "ASIC" + +[[terms]] +term = "Attacker" +tags = [] +translation = "攻擊者" + +[[terms]] +term = "Attestation" +tags = [] +translation = "見證" + [[terms]] term = "Back-run, Backrun, Backrunning" tags = ["mev"] -translation = "尾隨交易" +translation = "尾隨交易" + +[[terms]] +term = "Backend" +tags = [] +translation = "後端" + +[[terms]] +term = "Balance" +tags = [] +translation = "餘額" + +[[terms]] +term = "Base fee" +tags = [] +translation = "基本費用" + +[[terms]] +term = "Beacon Chain" +tags = [] +translation = "信標鏈" + +[[terms]] +term = "Beam" +tags = [] +translation = "光束同步" + +[[terms]] +term = "Big-endian" +tags = [] +translation = "大端序" + +[[terms]] +term = "BIPs" +tags = [] +translation = "比特幣改進提案" + +[[terms]] +term = "Bitcoin" +tags = [] +translation = "比特幣" + +[[terms]] +term = "Block" +tags = [] +translation = "區塊" + +[[terms]] +term = "Block explorers" +tags = [] +translation = "區塊瀏覽器" + +[[terms]] +term = "Blockchain" +tags = [] +translation = "區塊鏈" + +[[terms]] +term = "Bootstrap Nodes" +tags = [] +translation = "啟動節點" + +[[terms]] +term = "Bounty" +tags = [] +translation = "懸賞" + +[[terms]] +term = "Builder" +tags = ["mev"] +translation = "區塊建造者" + +[[terms]] +term = "Bundle" +tags = ["mev"] +translation = "交易同捆包" + +[[terms]] +term = "Byte" +tags = [] +translation = "位元組" + +[[terms]] +term = "Bytecode" +tags = [] +translation = "位元組碼" + +[[terms]] +term = "Byzantium fork" +tags = [] +translation = "拜占庭升級" + +[[terms]] +term = "Centralized exchanges" +tags = [] +translation = "中央化交易所" + +[[terms]] +term = "Chaumian Blinding" +tags = [] +translation = "喬姆盲簽" + +[[terms]] +term = "Clients" +tags = [] +translation = "客戶端" + +[[terms]] +term = "Collateral" +tags = [] +translation = "抵押品" + +[[terms]] +term = "Collectible" +tags = [] +translation = "收藏集" + +[[terms]] +term = "Committee" +tags = [] +translation = "委員會" + +[[terms]] +term = "Compiling" +tags = [] +translation = "編譯" + +[[terms]] +term = "Composability" +tags = [] +translation = "可組合性" + +[[terms]] +term = "Composability" +tags = [] +translation = "可組合性" + +[[terms]] +term = "Composable" +tags = [] +translation = "可組合" + +[[terms]] +term = "Consensus" +tags = [] +translation = "共識" + +[[terms]] +term = "Consensus mechanism" +tags = [] +translation = "共識機制" + +[[terms]] +term = "Consensus rules" +tags = [] +translation = "共識規則" + +[[terms]] +term = "Consistency" +tags = [] +translation = "一致性" + +[[terms]] +term = "Constantinople fork" +tags = [] +translation = "君士坦丁堡升級" + +[[terms]] +term = "Contract account" +tags = [] +translation = "合約帳戶" + +[[terms]] +term = "Contract creation transaction" +tags = [] +translation = "合約創建交易" + +[[terms]] +term = "Crosslink" +tags = [] +translation = "交聯" + +[[terms]] +term = "Cryptocurrency" +tags = [] +translation = "密碼學貨幣" + +[[terms]] +term = "Cryptoeconomics" +tags = [] +translation = "密碼經濟學" + +[[terms]] +term = "CWE" +tags = [] +translation = "通用缺陷列表" + +[[terms]] +term = "Dai" +tags = [] +translation = "Dai" + +[[terms]] +term = "Decentralized application" +tags = [] +translation = "去中心化應用程式" + +[[terms]] +term = "Decentralized autonomous organization (DAO)" +tags = [] +translation = "去中央化自治組織(DAO)" + +[[terms]] +term = "Decentralized exchange (DEX)" +tags = [] +translation = "去中央化交易所" + +[[terms]] +term = "Decentralized finance" +tags = [] +translation = "去中央化金融" + +[[terms]] +term = "Deploy" +tags = [] +translation = "部署" + +[[terms]] +term = "Devcon" +tags = [] +translation = "Devcon" + +[[terms]] +term = "Difficulty" +tags = [] +translation = "挖礦難度" + +[[terms]] +term = "Difficulty bomb" +tags = [] +translation = "難度炸彈" + +[[terms]] +term = "Digital signature" +tags = [] +translation = "數位簽章" + +[[terms]] +term = "Elliptic curve digital signature algorithm" +tags = [] +translation = "橢圓曲線簽章演算法" + +[[terms]] +term = "Epoch" +tags = [] +translation = "時期" + +[[terms]] +term = "Escrow" +tags = [] +translation = "代管" + +[[terms]] +term = "Ethash" +tags = [] +translation = "Ethash" + +[[terms]] +term = "Ethereum" +tags = [] +translation = "以太坊" + +[[terms]] +term = "Ethereum Foundation" +tags = [] +translation = "以太坊基金會" + +[[terms]] +term = "Ethereum Improvement Proposal (EIP)" +tags = [] +translation = "以太坊改進提案" + +[[terms]] +term = "Ethereum Improvement Proposals" +tags = [] +translation = "Ethereum 改進提案" + +[[terms]] +term = "Ethereum Name Service (ENS)" +tags = [] +translation = "以太坊域名服務" + +[[terms]] +term = "Ethereum Request for Comments (ERC)" +tags = [] +translation = "以太坊開發者公開徵求意見 (ERC)" + +[[terms]] +term = "Ethereum Virtual Machine" +tags = [] +translation = "以太坊虛擬機" + +[[terms]] +term = "Events" +tags = [] +translation = "事件" + +[[terms]] +term = "EVM assembly language" +tags = [] +translation = "EVM 組合語言" + +[[terms]] +term = "Externally owned account (EOA)" +tags = [] +translation = "外部帳戶 (EOA)" + +[[terms]] +term = "Fallback function" +tags = [] +translation = "預設函式" + +[[terms]] +term = "Fiat currency" +tags = [] +translation = "法定貨幣" + +[[terms]] +term = "Finality" +tags = [] +translation = "最終性" + +[[terms]] +term = "Fork" +tags = [] +translation = "分叉" + +[[terms]] +term = "Fraud proof" +tags = [] +translation = "詐欺證明" + +[[terms]] +term = "Front-run, Frontrun, Frontrunning" +tags = ["mev"] +translation = "搶跑交易、搶先交易" + +[[terms]] +term = "Front-running" +tags = [] +translation = "預先交易" + +[[terms]] +term = "Frontier" +tags = [] +translation = "前沿" + +[[terms]] +term = "Full Node" +tags = ["protocol"] +translation = "全節點" + +[[terms]] +term = "Gas" +tags = [] +translation = "Gas" + +[[terms]] +term = "Gas limit" +tags = [] +translation = "燃料限制" + +[[terms]] +term = "Genesis" +tags = [] +translation = "創世區塊" + +[[terms]] +term = "Geth" +tags = [] +translation = "Geth" + +[[terms]] +term = "GHOST" +tags = [] +translation = "GHOST" + +[[terms]] +term = "Governance" +tags = [] +translation = "治理" + +[[terms]] +term = "Gwei" +tags = [] +translation = "Gwei" + +[[terms]] +term = "Hard fork" +tags = [] +translation = "硬分叉" + +[[terms]] +term = "Hash" +tags = [] +translation = "雜湊值" + +[[terms]] +term = "HD wallet" +tags = [] +translation = "HD 錢包" + +[[terms]] +term = "Hexadecimal literals" +tags = [] +translation = "十六進位值" + +[[terms]] +term = "Homestead" +tags = [] +translation = "家園" + +[[terms]] +term = "Ice Age" +tags = [] +translation = "冰河期" + +[[terms]] +term = "Impermanent Loss" +tags = ["defi"] +translation = "無常損失" + +[[terms]] +term = "Internal transaction" +tags = [] +translation = "內部交易" + +[[terms]] +term = "Keccak-256" +tags = [] +translation = "Keccak-256" + +[[terms]] +term = "Key derivation function (KDF)" +tags = [] +translation = "金鑰派生函數 (KDF)" + +[[terms]] +term = "Keystore file" +tags = [] +translation = "密鑰存儲檔案" + +[[terms]] +term = "Kilobytes" +tags = [] +translation = "千位元組" + +[[terms]] +term = "Last-in-first-out" +tags = [] +translation = "後進先出法" + +[[terms]] +term = "Launchpad" +tags = [] +translation = "啟動面板" + +[[terms]] +term = "Layer" +tags = [] +translation = "分層" + +[[terms]] +term = "Layer 2" +tags = [] +translation = "第二層" + +[[terms]] +term = "Ledger" +tags = [] +translation = "帳本" + +[[terms]] +term = "Lending pool" +tags = ["defi"] +translation = "借貸池" + +[[terms]] +term = "Liveness" +tags = [] +translation = "活躍性" + +[[terms]] +term = "Mainnet" +tags = [] +translation = "主網" + +[[terms]] +term = "Malicious" +tags = [] +translation = "惡意" + +[[terms]] +term = "Merkle Patricia tree" +tags = [] +translation = "字首雜湊樹" + +[[terms]] +term = "Merkle Tree" +tags = [] +translation = "雜湊樹" + +[[terms]] +term = "Message" +tags = [] +translation = "訊息" + +[[terms]] +term = "Message call" +tags = [] +translation = "訊息呼叫" + +[[terms]] +term = "Metropolis" +tags = [] +translation = "大都會" + +[[terms]] +term = "MEV Searcher" +tags = ["mev"] +translation = "尋利者" [[terms]] -term = "Builder" -tags = ["mev"] -translation = "區塊建造者" +term = "Miner" +tags = [] +translation = "礦工" [[terms]] -term = "Bundle" -tags = ["mev"] -translation = "交易同捆包" +term = "Mining" +tags = [] +translation = "挖礦" [[terms]] -term = "Front-run, Frontrun, Frontrunning" -tags = ["mev"] -translation = "搶跑交易、搶先交易" +term = "Modular" +tags = [] +translation = "模組化" [[terms]] -term = "Full Node" -tags = ["protocol"] -translation = "全節點" +term = "Network" +tags = [] +translation = "網路" [[terms]] -term = "Impermanent Loss" -tags = ["defi"] -translation = "無常損失" +term = "Node" +tags = [] +translation = "節點" [[terms]] -term = "Merkle Tree" +term = "Non-fungible token (NFT)" tags = [] -translation = "雜湊樹" +translation = "非同質性代幣 (NFT)" [[terms]] -term = "MEV Searcher" -tags = ["mev"] -translation = "尋利者" +term = "Nonce" +tags = [] +translation = "Nonce" [[terms]] term = "Nullifier" tags = ["zk"] translation = "註銷碼" +[[terms]] +term = "Off-chain" +tags = [] +translation = "鏈外" + +[[terms]] +term = "Offer" +tags = [] +translation = "報價" + +[[terms]] +term = "Ommer" +tags = [] +translation = "Ommer" + +[[terms]] +term = "Opcodes" +tags = [] +translation = "操作碼" + +[[terms]] +term = "Optimistic rollup" +tags = [] +translation = "樂觀卷疊" + +[[terms]] +term = "Oracle" +tags = [] +translation = "預言機" + +[[terms]] +term = "Plasma" +tags = [] +translation = "Plasma" + +[[terms]] +term = "Prediction market" +tags = [] +translation = "預測市場" + +[[terms]] +term = "Private key" +tags = [] +translation = "私鑰" + +[[terms]] +term = "Proof of Authority" +tags = [] +translation = "權威證明" + [[terms]] term = "Proof of Stake, PoS" tags = ["protocol"] translation = "權益證明" +[[terms]] +term = "Proof of work" +tags = [] +translation = "工作量證明 (PoW)" + [[terms]] term = "Proposer" tags = ["protocol"] translation = "區塊發佈者" +[[terms]] +term = "Prysm" +tags = [] +translation = "Prysm" + +[[terms]] +term = "Public key" +tags = [] +translation = "公鑰" + +[[terms]] +term = "RanDAO" +tags = [] +translation = "RanDAO" + +[[terms]] +term = "Re-entrancy" +tags = [] +translation = "重入" + +[[terms]] +term = "Receipt" +tags = [] +translation = "收據" + +[[terms]] +term = "Recursive Length Prefix (RLP)" +tags = [] +translation = "遞迴長度前綴 (RLP)" + +[[terms]] +term = "Redundancy" +tags = [] +translation = "冗餘" + +[[terms]] +term = "Rollup" +tags = [] +translation = "Rollup" + +[[terms]] +term = "RPC" +tags = [] +translation = "RPC" + [[terms]] term = "Sandwich Attack" tags = ["mev"] translation = "三明治夾擊" +[[terms]] +term = "Scaling" +tags = [] +translation = "擴展" + +[[terms]] +term = "Secure Hash Algorithm (SHA)" +tags = [] +translation = "安全雜湊演算法 (SHA)" + +[[terms]] +term = "Security token" +tags = [] +translation = "證券性質代幣" + +[[terms]] +term = "Seed phrase" +tags = [] +translation = "種子助記詞" + +[[terms]] +term = "Sender" +tags = [] +translation = "發送者" + +[[terms]] +term = "Serenity" +tags = [] +translation = "Serenity" + +[[terms]] +term = "Shard chain" +tags = [] +translation = "分片鏈" + +[[terms]] +term = "Sharding" +tags = [] +translation = "分片" + +[[terms]] +term = "Short position" +tags = [] +translation = "空部位" + +[[terms]] +term = "Sidechain" +tags = [] +translation = "側鏈" + [[terms]] term = "Slash, Slashing" tags = ["protocol"] translation = "懲罰、罰款" +[[terms]] +term = "Slot" +tags = [] +translation = "時隙" + +[[terms]] +term = "Smart contract" +tags = [] +translation = "智慧合約" + +[[terms]] +term = "SNARK" +tags = [] +translation = "SNARK" + +[[terms]] +term = "Solidity" +tags = [] +translation = "Solidity" + +[[terms]] +term = "Solidity inline assembly" +tags = [] +translation = "Solidity 內嵌組合語言" + +[[terms]] +term = "Specification" +tags = [] +translation = "規格" + +[[terms]] +term = "Spurious Dragon" +tags = [] +translation = "Spurious Dragon" + +[[terms]] +term = "Stablecoin" +tags = [] +translation = "穩定幣" + +[[terms]] +term = "Stake" +tags = [] +translation = "質押" + +[[terms]] +term = "Staker" +tags = [] +translation = "質押者" + +[[terms]] +term = "Staking" +tags = [] +translation = "質押" + +[[terms]] +term = "Staking pool" +tags = [] +translation = "質押池" + +[[terms]] +term = "STARK" +tags = [] +translation = "STARK" + +[[terms]] +term = "State channels" +tags = [] +translation = "狀態通道" + +[[terms]] +term = "State machine" +tags = [] +translation = "狀態機" + +[[terms]] +term = "State pruning" +tags = [] +translation = """ +在程式設計語言和基於樹的版本控制系統(如git)中,它的概念類似於垃圾收集。當乙太坊契約運行時,它們會修改它們的狀態。由於狀態樹是一個不可變的只追加結構,這意味著每次修改狀態時,它都會得到一個新的狀態根。一些可以從舊根訪問的元素可能無法從新根訪問(由於删除或修改條目的操作)。理論上,它們可以被修剪(垃圾收集)。然而,由於工作證明共識並不能確定狀態轉換何時是最終的,囙此理論上總是存在這樣一種可能性,即狀態將恢復到更老的根,並且將再次需要修剪的東西。囙此,修剪現時是一種權衡。我們說,例如,在5000塊之後,我們假設狀態不會被恢復,並删减所有不可到達的節點。可能仍有人希望禁用此功能以保留區塊鏈的整個歷史記錄,以用於特殊目的。 +https://blog.ethereum.org/2015/06/26/state-tree-pruning/""" + +[[terms]] +term = "Storage" +tags = [] +translation = "存儲" + +[[terms]] +term = "Strong typing" +tags = [] +translation = "強型別" + +[[terms]] +term = "Swap" +tags = [] +translation = "交換" + +[[terms]] +term = "Swarm" +tags = [] +translation = "Swarm" + +[[terms]] +term = "Sybil attack" +tags = [] +translation = "分身攻擊" + +[[terms]] +term = "Tangerine Whistle" +tags = [] +translation = "Tangerine Whistle" + +[[terms]] +term = "Testnet" +tags = [] +translation = "測試網" + +[[terms]] +term = "The Merge" +tags = [] +translation = "合併" + +[[terms]] +term = "Throughput" +tags = [] +translation = "吞吐量" + +[[terms]] +term = "Timestamp" +tags = [] +translation = "時間戳記" + +[[terms]] +term = "Token" +tags = [] +translation = "代幣" + +[[terms]] +term = "Transaction" +tags = [] +translation = "交易" + +[[terms]] +term = "Transaction fee" +tags = [] +translation = "交易手續費" + +[[terms]] +term = "Transfers" +tags = [] +translation = "傳送" + +[[terms]] +term = "Turing complete" +tags = [] +translation = "圖靈完備" + +[[terms]] +term = "UTXO" +tags = [] +translation = "UTXO" + +[[terms]] +term = "Validate" +tags = [] +translation = "驗證" + [[terms]] term = "Validator" tags = ["protocol"] translation = "驗證者" + +[[terms]] +term = "Validity proof" +tags = [] +translation = "有效性證明" + +[[terms]] +term = "Validium" +tags = [] +translation = "Validium" + +[[terms]] +term = "Vyper" +tags = [] +translation = "Vyper" + +[[terms]] +term = "Wallet" +tags = [] +translation = "錢包" + +[[terms]] +term = "Warp" +tags = [] +translation = "Warp sync–每5000個塊,節點將對該塊的狀態進行一致關鍵快照。" + +[[terms]] +term = "Web3" +tags = [] +translation = "Web3" + +[[terms]] +term = "wei" +tags = [] +translation = "wei" + +[[terms]] +term = "Whitepaper" +tags = [] +translation = "白皮書" + +[[terms]] +term = "Withdraw" +tags = [] +translation = "提款" + +[[terms]] +term = "Zero address" +tags = [] +translation = "零地址" + +[[terms]] +term = "Zero-knowledge rollup" +tags = [] +translation = """ +使用有效性證明來提供增加的第2層事務吞吐量,同時使用主網(第1層)提供的安全性的事務匯總。 +儘管它們不能處理諸如Optimistic匯總之類的複雜事務類型,但它們沒有延遲問題 +因為事務在提交時被證明是有效的。 +文件: Glossary""" + +[[terms]] +term = "Zero-knowledge rollups" +tags = [] +translation = "ZK零知識證明卷軸" + +[[terms]] +term = "Zooko's triangle" +tags = [] +translation = "Zooko 三角" diff --git a/untranslated.txt b/untranslated.txt new file mode 100644 index 0000000..924e428 --- /dev/null +++ b/untranslated.txt @@ -0,0 +1,30 @@ +untranslated: Deed +untranslated: Entropy +untranslated: Ether +untranslated: Lightweight client +untranslated: Open short +untranslated: On-chain +untranslated: Set +untranslated: Bootcamp +untranslated: Mempool +untranslated: Slashing +untranslated: Debloat +untranslated: Pool +untranslated: Mint +untranslated: Consensus layer +untranslated: Cryptographic +untranslated: Distributed ledger +untranslated: Non-fungible token +untranslated: Consensus client +untranslated: Decentralized autonomous organizations +untranslated: Execution client +untranslated: Execution layer +untranslated: Contract address +untranslated: Oracle +untranslated: Faucet +untranslated: Soft fork +untranslated: Zero-knowledge proof +untranslated: Proof-of-work +untranslated: Decentralized applications +untranslated: PR +untranslated: Hero