Cara Menterjemah Hamparan Excel Tanpa Merosakkan Formula atau Menu Juntai Bawah
Cari teks yang terlepas pandang oleh penterjemah sel demi sel dalam fail .xlsx (teks formula, teks kaya, pautan, carta, makro), betulkan menu juntai bawah dan kod yang mungkin rosak, dan semak hasilnya dengan skrip percuma serta buku kerja ujian.

Untuk menterjemah keseluruhan buku kerja Excel, muat naik fail .xlsx ke penterjemah dokumen dan bukannya menterjemah sel satu demi satu. Perintah Review > Translate dalam Excel berfungsi pada teks yang anda pilih (Sokongan Microsoft), yang memadai untuk label tetapi lambat untuk senarai harga. Penterjemah fail membaca setiap sel teks, menterjemahkannya, dan menulis semula ke alamat yang sama, jadi formula, nombor, dan tarikh kekal di tempat asalnya.
Apa yang tidak diberitahu ialah teks mana yang tidak pernah dibacanya. Teks yang ditaip dalam formula, sel dengan satu perkataan tebal, pautan, nota, tajuk carta: dalam terjemahan sel demi sel, semua ini boleh kembali dalam bahasa asal. Dan dua perkara boleh rosak: menu juntai bawah yang nilai dibenarkannya tidak diterjemah, dan kod produk yang diterjemah.
Kami membina buku kerja ujian dua helaian dengan teks di setiap lokasi tersebut, menulis pemeriksa percuma yang menyenaraikan lokasi teks, dan menjalankan buku kerja itu melalui reproduksi setempat bagi pengendalian hamparan yang digunakan oleh BookTranslator. Panduan ini menunjukkan apa yang kembali, apa yang perlu diubah sebelum dimuat naik, dan cara menyemak fail terjemahan.
Jawapan Pantas: Apa yang Diterjemah dalam Buku Kerja
| Di mana teks itu | Contoh daripada ujian kami | Diterjemah oleh BookTranslator? | Apa yang perlu dilakukan |
|---|---|---|---|
| Sel teks biasa, termasuk baris pengepala | "Buku nota biru", "Harga" | Ya | Tiada |
| Nombor, tarikh, boolean | 4.5, 2026-10-30 | Dibiarkan seperti asal | Semak format nombor untuk pasaran sasaran |
| Formula | =C2*D2 | Dibiarkan seperti asal | Tiada |
| Teks dalam formula | =IF(D2>5,"In stock","Low stock") | Tidak | Pindahkan perkataan ke dalam sel (lihat Langkah 2) |
| Sel dengan pemformatan bercampur | "Edisi terhad pen" | Tidak, keseluruhan sel dilangkau | Kosongkan pemformatan terlebih dahulu, atau terjemah secara manual |
| Sel hiperpautan | "Halaman produk" | Tidak | Edit teks pautan selepas terjemahan |
| Nilai dalam sel menu lungsur | "Alat tulis" | Ya, tetapi senarai menu lungsur tidak | Betulkan senarai, atau sel tidak lagi sah |
| Kod dengan huruf | "A-77", "B-09" | Dihantar kepada penterjemah | Semak selepas terjemahan |
| Kod dengan digit atau simbol sahaja | "00123" | Dibiarkan seperti asal | Tiada |
| Nota dan komen | "Semak nama pembekal sebelum dikeluarkan" | Tidak | Terjemah secara manual, atau padamkannya |
| Nama helaian dan julat bernama | "Produk", PriceRange | Tidak, supaya formula merentas helaian terus berfungsi | Namakan semula helaian secara manual hanya jika perlu, selepas menyemak formula |
| Carta dan makro | Carta bar, projek VBA | Dibuang daripada fail terjemahan dalam ujian kami | Simpan yang asal, bina semula selepas itu (lihat di bawah) |
Fail .xls lama tidak diterima. Buka fail tersebut dalam Excel dan simpan sebagai .xlsx terlebih dahulu. Fail .xlsm yang mendayakan makro diterima, tetapi baca bahagian makro sebelum memuat naiknya: fail terjemahan tidak mempunyai makro, dan jika muat turun masih berakhir dengan .xlsm, namakan semula kepada .xlsx sebelum membukanya.
Langkah 1: Jalankan Penyemak pada Buku Kerja Anda
Muat turun check_xlsx_text.py dan jalankannya pada fail anda:
python3 check_xlsx_text.py "Price list.xlsx"
Ia hanya memerlukan Python 3 dan membaca fail tanpa mengubahnya. Berikut ialah ringkasan untuk buku kerja contoh kami:
Counts by location:
cell code, ID or address 2
cell link text 1
cell mixed formatting 1
cell plain text 15
comments comment or note text 1
dropdown list of allowed values 1
formula text text inside a formula 6
sheet sheet name 2
workbook defined name 1
Plain text cells (translated by a cell-by-cell translator): 15
Items that need a decision before you upload: 12
Di bawah kiraan, ia menyenaraikan setiap item dengan helaian dan selnya, seperti Products!E2 formula text 'In stock'. Gunakan senarai itu sebagai senarai tugasan anda untuk Langkah 2. Jika buku kerja anda mempunyai carta, kotak teks, jadual pangsi, atau projek makro, ia turut muncul dalam kiraan.
README menerangkan buku kerja contoh, menyenaraikan cincangan fail, dan memautkan skrip yang membinanya, supaya anda boleh mengulangi ujian tersebut.
Apa yang Berlaku pada Buku Kerja Ujian Kami
Kami menjalankan buku kerja contoh melalui kod yang digunakan oleh pengendali hamparan BookTranslator, dihasilkan semula secara setempat pada 2026-11-01 dengan pustaka yang sama (ExcelJS 4.4.0). Daripada terjemahan sebenar, kami menggunakan pemegang tempat yang menambah "[DE]" di hadapan teks setiap sel. Ini mengeluarkan model bahasa daripada ujian, jadi hasilnya hanya menunjukkan apa yang dihantar, dikekalkan, dan digugurkan oleh pengendalian fail.
Pengendali membaca setiap helaian sel demi sel. Ia menghantar sel untuk terjemahan hanya jika sel itu mengandungi nilai teks biasa, dan melangkau mana-mana teks yang hanya terdiri daripada digit, tanda baca, dan simbol. Semua yang lain dalam grid sel disalin tanpa perubahan. BookTranslator kemudian mengembalikan dua fail: buku kerja terjemahan dan buku kerja dwibahasa.
Buku kerja terjemahan
Ini ialah fail yang perlu digunakan. Kesemua 6 formula, 7 nombor dan tarikh, format mata wang dan tarikh, sel bergabung, nota, peraturan juntai bawah, dan julat bernama dikembalikan tanpa perubahan. 9 sel pengepala dan sel teks biasa yang lain diterjemahkan di tempatnya. Tiga hasil memerlukan perhatian:
Teks di dalam formula kekal dalam bahasa sumber. Lajur Status menggunakan =IF(D2>5,"In stock","Low stock"). Formula bukan sel teks, jadi pengendali tidak pernah membacanya, dan "In stock" kekal dalam bahasa Inggeris dalam setiap baris. Perkara sama berlaku untuk teks yang digabungkan dengan & atau CONCAT, dan untuk teks di dalam HYPERLINK.
Nilai juntai bawah yang diterjemahkan tidak lagi sepadan dengan senarainya. Sel H2 mempunyai juntai bawah yang membenarkan "Stationery, Office, Art". Nilai sel itu diterjemahkan, tetapi senarai disimpan dalam peraturan pengesahan, bukan dalam sel, jadi ia tidak diterjemahkan. Mod banding penyemak kami melaporkannya seperti ini:
Problems: 3
Products!A3: code changed: 'A-77' -> '[DE] A-77'
Products!A4: code changed: 'B-09' -> '[DE] B-09'
Products!H2: '[DE] Stationery' is not in its dropdown list ['Art', 'Office', 'Stationery']
Excel mengekalkan nilai yang melanggar peraturan pengesahannya, tetapi orang seterusnya yang membuka juntai bawah hanya melihat pilihan lama, dan Data > Circle Invalid Data akan menandakan sel itu.
Kod yang mengandungi huruf dihantar kepada penterjemah. "00123" dilangkau kerana ia hanya mengandungi digit. "A-77" dan "B-09" dihantar, kerana ia mengandungi huruf. Sama ada kod itu dikembalikan tanpa perubahan bergantung pada model; tiada apa-apa dalam pengendalian fail yang melindunginya. SKU yang dikembalikan sebagai "A-77-Artikel" merosakkan setiap carian yang menggunakannya.
Buku kerja dwibahasa
Fail dwibahasa menyisipkan lajur terjemahan di sebelah kanan setiap lajur yang mempunyai sekurang-kurangnya satu sel diterjemahkan, dengan pengepala seperti "Name (Translated)". Ia memindahkan nilai sel ke lajur baharu, tetapi tidak memindahkan format sel atau mengemas kini formula. Dalam ujian kami:
- format harga
$#,##0.00kekal dalam lajur C, yang kini mengandungi nama produk, manakala harga berpindah ke lajur E tanpa format tersebut; - format tarikh kekal di lajur G, yang kini mengandungi kuantiti, jadi kuantiti 10 dipaparkan sebagai tarikh;
=C2*D2berpindah ke lajur K tetapi masih merujuk kepada C2 dan D2, yang kini mengandungi nama produk dan terjemahannya, jadi ia tidak lagi boleh mengembalikan 45;- pada helaian Ringkasan,
=SUM(Products!F2:F4)kini menjumlahkan lajur terjemahan yang kosong.
Jadi buku kerja dwibahasa adalah untuk membaca sumber dan terjemahan secara bersebelahan, bukan untuk pengiraan. Jangan edit atau salin formula daripadanya.
Carta dan makro
Dalam salinan buku kerja yang berasingan, kami menambah carta dan projek makro, disimpan seperti cara Excel menyimpannya. Kedua-duanya tidak terdapat dalam fail terjemahan atau fail dwibahasa. ExcelJS membaca dan menulis lembaran kerja, gaya, teks kongsi, gambar, jadual, dan komen, dan tidak mempunyai kod untuk bahagian carta atau projek VBA, jadi ia meninggalkannya semasa menyimpan. Kod yang sama tidak mempunyai apa-apa untuk jadual pangsi, jadi jangkakan jadual pangsi juga akan digugurkan, walaupun kami tidak mengujinya. Pengendali juga menyimpan outputnya sebagai fail .xlsx, yang tidak boleh menyimpan makro.
Satu lagi had ujian: kami membina buku kerja sampel dengan ExcelJS sendiri, yang merupakan kes paling mesra untuk mengekalkan format, gabungan, dan peraturan pengesahan. Buku kerja yang disimpan oleh Excel boleh mengandungi ciri yang tidak dimodelkan oleh ExcelJS, jadi jalankan langkah perbandingan di bawah pada fail anda sendiri dan jangan andaikan hasil bersih yang sama.
Langkah 2: Sediakan Buku Kerja Sebelum Memuat Naik
Bekerja pada salinan. Pemeriksa memberitahu anda sel mana yang perlu diubah.
- Pindahkan teks formula ke dalam sel. Letakkan perkataan dalam helaian "Labels" kecil dan halakan formula kepadanya:
=IF(D2>5,Labels!$A$1,Labels!$A$2). Sel label adalah teks biasa, jadi ia diterjemahkan, dan setiap formula mengambil terjemahan tersebut. Satu perubahan ini biasanya membetulkan kebanyakan kiraan "teks formula", kerana frasa yang sama cenderung berulang di seluruh lajur. - Pindahkan senarai juntai bawah ke dalam sel. Dalam Data > Pengesahan Data, tukar Sumber daripada senarai yang ditaip (
Stationery,Office,Art) kepada julat pada helaian Labels (=Labels!$B$1:$B$3). Nilai senarai kemudian diterjemahkan bersama sel yang menggunakannya. Semak beberapa sel selepas itu: juntai bawah hanya menerima nilai terjemahan jika model menterjemah "Stationery" dengan cara yang sama di kedua-dua tempat. - Kosongkan format bercampur. Sel dengan satu perkataan tebal atau berwarna disimpan sebagai run berformat dan dilangkau sepenuhnya. Pilih sel dan pilih Home > Clear > Clear Formats, atau taip semula, kemudian gunakan semula tebal selepas terjemahan. Jika anda mempunyai banyak sel seperti ini, catat dahulu.
- Tentukan apa yang perlu dilakukan dengan nota dan komen. Ia tidak diterjemahkan. Padam nota semakan yang anda tidak mahu dihantar ke perkhidmatan terjemahan, dan terjemah selebihnya secara manual.
- Simpan buku kerja makro sebagai
.xlsx. Simpan.xlsmanda sebagai induk. Terjemah salinan.xlsx, kemudian sama ada salin lajur teks terjemahan kembali ke induk (Paste Special > Values, lajur teks sahaja, supaya anda tidak menimpa formula) atau eksport modul VBA dan import ke dalam fail terjemahan. - Tinggalkan carta untuk kemudian. Carta mempunyai sedikit teks: tajuk, tajuk paksi, dan legenda yang biasanya datang dari sel pengepala. Selalunya lebih cepat untuk membina semula carta dalam buku kerja terjemahan daripada julat yang sama, atau menampal lajur teks terjemahan kembali ke dalam buku kerja asal supaya carta dan jadual pangsinya dikemas kini sendiri.
Langkah 3: Terjemah Keseluruhan Fail
Muat naik .xlsx pada halaman penterjemah dokumen, pilih bahasa sasaran, dan semak harga yang dipaparkan sebelum anda membayar. Muat naik keseluruhan fail menterjemah setiap sel teks pada setiap helaian dalam satu tugas, yang memudahkan untuk mengekalkan nama produk yang sama dalam baris 3 dan baris 3,000. Panduan kami untuk membina glosari terjemahan menerangkan cara menetapkan istilah yang tidak boleh berubah.
Apabila tugas selesai, halaman Sejarah menawarkan kedua-dua muat turun. Gunakan buku kerja terjemahan. Buka buku kerja dwibahasa hanya untuk menyemak perkataan dengan seseorang yang membaca kedua-dua bahasa.
Jika anda bekerja dalam Google Sheets, terdapat dua laluan lain. Tab Documents Google Translate menerima fail .xlsx sehingga 10 MB (Bantuan Google Translate); panduan terjemahan Google Docs kami membandingkan pilihannya. Dan Sheets mempunyai fungsi GOOGLETRANSLATE(text, source_language, target_language) (Bantuan Google Docs Editors) yang boleh anda isi ke bawah lajur baharu di sebelah sumber. Itu mudah untuk satu lajur label pendek, tetapi hasilnya adalah formula, jadi tampalkannya sebagai nilai sebelum anda berkongsi helaian. DeepL juga menterjemah dokumen; lihat apa maksud had dokumennya dalam praktik. Walau apa pun yang anda gunakan, jalankan pemeriksa pada sumber terlebih dahulu: teks dalam formula, pautan, dan carta berada di tempat yang sama tidak kira alat mana yang membaca fail itu.
Langkah 4: Semak Buku Kerja Terjemahan
-
Jalankan mod perbandingan. Letakkan fail sumber dan fail terjemahan secara bersebelahan:
python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"Ia menyemak bahawa setiap formula, nombor, dan tarikh tidak berubah, bahawa kod dengan huruf kembali tepat seperti asalnya, dan bahawa setiap nilai juntai bawah ada dalam senarainya. Gunakannya pada buku kerja terjemahan sahaja. Kerana fail dwibahasa mengalihkan lajur, hampir setiap sel akan dilaporkan.
-
Kira semula. Jika formula masih memaparkan teks lama selepas anda membetulkan label, tekan F9 (atau Formulas > Calculate Now).
-
Terjemah sisa-sisa. Gunakan senarai pemeriksa dari Langkah 1: teks pautan, nota, tajuk carta, dan mana-mana sel yang anda kosongkan formatnya.
-
Cari teks yang terpotong. Terjemahan selalunya lebih panjang daripada teks sumber, dan rentetan pendek paling banyak bertambah panjang. W3C memetik garis panduan IBM yang menyatakan purata pengembangan daripada bahasa Inggeris ke bahasa Eropah ialah 200–300% untuk teks sehingga 10 aksara (W3C). Pengepala lajur adalah pendek, jadi lebarkan lajur atau hidupkan Balut Teks di tempat ia terpotong.
-
Semak paparan nombor dan tarikh. Nilai tidak diubah, tetapi "4.50" mungkin perlu dipaparkan sebagai "4,50" untuk pembaca Jerman. Itu ialah format sel atau tetapan serantau, bukan terjemahan.
-
Jangan "betulkan" nama fungsi. Jika Excel Perancis rakan sekerja anda memaparkan
SOMMEdan bukannyaSUM, itu ialah Excel yang memaparkan nama fungsi setempatnya sendiri; formulanya tetap sama. -
Tetapkan helaian kanan-ke-kiri. Untuk bahasa Arab, Ibrani, Parsi, atau Urdu, hidupkan Susun Atur Halaman > Helaian Kanan-ke-Kiri dan semak penjajaran sel.
-
Minta pembaca yang fasih menyemaknya jika ia ditujukan kepada pelanggan, seperti senarai harga atau katalog produk. Terjemahan mesin ialah draf pertama yang baik, bukan versi akhir.
Fail CSV dan TSV
Fail .csv tidak mempunyai formula, format, atau menu lungsur, jadi kebanyakan masalah di atas tidak timbul. Tiga perkara berbeza:
- Baris pengepala tidak diterjemahkan. Pengendali menganggap baris pertama sebagai pengepala dan hanya menterjemah baris data. Terjemah pengepala secara manual, atau salinnya ke dalam baris data sebelum memuat naik dan alihkannya semula selepas itu.
- Satu lajur diterjemahkan secara keseluruhan. Jika mana-mana sel dalam lajur mengandungi huruf, setiap sel dalam lajur itu yang mengandungi huruf akan dihantar, termasuk kod. Mod perbandingan hanya membaca
.xlsx, jadi semak lajur kod CSV secara manual: salinnya daripada kedua-dua fail ke dalam satu helaian dan bandingkan kedua-dua lajur dengan=EXACT(A2,B2). - CSV dikembalikan dengan pemisah koma. Walau apa pun pemisah yang digunakan oleh sumber, CSV terjemahan menggunakan koma; fail
.tsvmengekalkan tabnya. Dalam ujian kami, CSV yang dipisahkan dengan titik bertindih dikembalikan dipisahkan dengan koma, dengan koma perpuluhan seperti "4,50" dikekalkan dalam tanda petikan. Fail ini ialah UTF-8 tanpa tanda susunan bait. Microsoft menyatakan Excel membuka CSV UTF-8 secara normal apabila ia mempunyai tanda tersebut, dan jika tidak, mengesyorkan mengimportnya dengan Data > Dapatkan Data > Daripada Teks/CSV (Sokongan Microsoft). Jika anda klik dua kali fail itu dan melihat aksen yang rosak, importlah dengan cara itu sebaliknya.
Jika data anda berada dalam buku kerja dengan formula, terjemah .xlsx itu. Mengeksport ke CSV untuk menterjemahnya akan membuang setiap formula.
Masalah Lazim
| Masalah | Punca berkemungkinan | Apa yang perlu dilakukan |
|---|---|---|
| Satu lajur masih tertulis "In stock" | Perkataan itu berada di dalam formula IF | Alihkannya ke sel label dan halakan formula kepadanya |
| Menu lungsur menolak nilai terjemahan | Nilai yang dibenarkan ditaip ke dalam peraturan pengesahan | Tukar Sumber peraturan kepada julat sel dan terjemah julat itu |
| Kod produk berubah | Ia mengandungi huruf, jadi ia dihantar kepada penterjemah | Betulkannya daripada sumber; jalankan mod perbandingan pada setiap penghantaran |
| Satu sel tidak diterjemah sama sekali | Ia mempunyai pemformatan bercampur, atau ia adalah pautan | Kosongkan pemformatan atau edit teks pautan, kemudian terjemah semula atau betulkan secara manual |
| Carta atau makro telah hilang | Pustaka yang digunakan untuk menulis semula fail tidak menyimpannya | Terjemah salinan .xlsx dan pindahkan teks terjemahan kembali ke fail asal |
| Jumlah tidak betul dalam fail dwibahasa | Lajur tambahannya mengalihkan nilai tetapi bukan formula atau format | Gunakan buku kerja terjemahan untuk sebarang pengiraan |
| Aksen kelihatan rosak dalam CSV terjemahan | Excel meneka pengekodan yang salah | Import menggunakan Data > Get Data > From Text/CSV |
| Muat naik ditolak | Fail ialah .xls, atau ia memerlukan kata laluan untuk dibuka | Simpan sebagai .xlsx biasa tanpa kata laluan buka (perlindungan helaian sahaja tidak mengapa) |
Idea yang sama terpakai untuk slaid: dek PowerPoint juga menyimpan teks di tempat yang dilangkau oleh penterjemah, dan pemeriksa untuk artikel itu berfungsi sama seperti yang ini.
Catatan Berkaitan





