BookTranslator
BookTranslator

Как да преведете електронна таблица в Excel, без да счупите формули или падащи менюта

Открийте текста, който преводачът клетка по клетка пропуска в .xlsx файл (текст във формули, форматиран текст, връзки, диаграми, макроси), поправете падащите менюта и кодовете, които той може да счупи, и проверете резултата с безплатен скрипт и тестова работна книга.

За да преведете цяла работна книга на Excel, качете файла .xlsx в преводач на документи, вместо да превеждате клетките една по една. Собствената команда на Excel „Рецензиране > Превод“ работи върху текста, който сте избрали (Microsoft Support), което е удобно за етикет, но бавно за ценова листа. Преводачът на файлове прочита всяка текстова клетка, превежда я и я записва обратно на същия адрес, така че формулите, числата и датите остават на местата си.

Това, което не ви казва, е кой текст никога не е бил прочетен. Текст, въведен във формула, клетка с една удебелена дума, връзка, бележка, заглавие на диаграма: при превод клетка по клетка всички те могат да се върнат на оригиналния език. И две неща могат да се счупят: падащо меню, чиито разрешени стойности не са преведени, и продуктов код, който е бил преведен.

Създадохме тестова работна книга с два листа с текст на всяко от тези места, написахме безплатен скрипт за проверка, който показва къде се намира текстът, и прекарахме работната книга през локално възпроизвеждане на обработката на електронни таблици, която използва BookTranslator. Това ръководство показва какво се върна, какво да промените преди качване и как да проверите преведения файл.

Бърз отговор: Какво се превежда в една работна книга

Къде е текстътПример от нашия тестПреведено от BookTranslator?Какво да направите
Обикновени текстови клетки, включително заглавни редове„Синя тетрадка“, „Цена“ДаНищо
Числа, дати, булеви стойности4.5, 2026-10-30Оставени както са билиПроверете числовите формати за целевия пазар
Формули=C2*D2Оставени както са билиНищо
Текст във формула=IF(D2>5,"In stock","Low stock")НеПреместете думите в клетки (вижте Стъпка 2)
Клетка със смесено форматиране"Ограничено издание химикал"Не, цялата клетка се пропускаПърво изчистете форматирането или го преведете ръчно
Клетки с хипервръзки"Страница на продукта"НеРедактирайте текста на връзката след превод
Стойност в клетка с падащ списък"Канцеларски материали"Да, но списъкът с падащото меню не еПоправете списъка или клетката вече не е валидна
Кодове с букви"A-77", "B-09"Изпраща се на преводачаПроверете ги след превод
Кодове само с цифри или символи"00123"Оставени както са билиНищо
Бележки и коментари"Проверете името на доставчика преди пускане"НеПреведете ръчно или ги изтрийте
Имена на листове и именувани диапазони"Продукти", PriceRangeНе, за да продължат да работят формулите между листоветеПреименувайте листовете ръчно само ако е абсолютно необходимо, след като проверите формулите
Диаграми и макросиСтълбовидна диаграма, VBA проектПремахнати от преведения файл в нашия тестЗапазете оригинала, създайте наново след това (вижте по-долу)

По-старите файлове .xls не се приемат. Отворете ги в Excel и ги запазете като .xlsx първо. Файловете с активирани макроси .xlsm се приемат, но прочетете раздела за макроси, преди да качите такъв: преведеният файл няма макроси и ако изтегленият файл все още завършва на .xlsm, преименувайте го на .xlsx, преди да го отворите.

Стъпка 1: Стартирайте проверката върху вашата работна книга

Изтеглете check_xlsx_text.py и го стартирайте върху вашия файл:

python3 check_xlsx_text.py "Price list.xlsx"

Той се нуждае само от Python 3 и чете файла, без да го променя. Ето обобщението за нашата примерна работна книга:

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

Под броячите той изброява всеки елемент с неговия лист и клетка, например Products!E2 formula text 'In stock'. Използвайте този списък като списък със задачи за Стъпка 2. Ако вашата работна книга има диаграми, текстови полета, обобщени таблици или макрос проект, те също се показват в броячите.

README описва примерната работна книга, изброява хешове на файлове и дава връзки към скриптовете, които я създават, за да можете да повторите теста.

Какво се случи с нашата тестова работна книга

Пуснахме примерната работна книга през кода, който използва манипулаторът на електронни таблици на BookTranslator, възпроизведен локално на 2026-11-01 със същата библиотека (ExcelJS 4.4.0). Вместо истински превод използвахме заместител, който добавя „[DE]“ пред текста на всяка клетка. Това държи езиковия модел извън теста, така че резултатите показват само какво обработката на файла изпраща, запазва и изхвърля.

Манипулаторът чете всеки лист клетка по клетка. Той изпраща клетка за превод само ако клетката съдържа обикновена текстова стойност и пропуска всеки текст, съставен само от цифри, пунктуация и символи. Всичко останало в решетката от клетки се копира непроменено. След това BookTranslator връща два файла: преведена работна книга и двуезична работна книга.

Преведената работна книга

Това е файлът, който да използвате. Всички 6 формули, 7 числа и дати, форматите за валута и дата, обединените клетки, бележката, правилото за падащ списък и именуваният диапазон се върнаха непроменени. 9-те клетки на заглавния ред и другите клетки с обикновен текст бяха преведени на място. Три резултата изискват внимание:

Текстът във формулите остава на изходния език. Колоната Status използваше =IF(D2>5,"In stock","Low stock"). Формулата не е текстова клетка, така че манипулаторът никога не я чете и „In stock“ остава на английски във всеки ред. Същото се отнася за текст, свързан с & или CONCAT, и за текст вътре в HYPERLINK.

Преведена стойност от падащ списък вече не съвпада със своя списък. Клетка H2 имаше падащ списък, който позволяваше „Stationery, Office, Art“. Стойността на клетката беше преведена, но списъкът се съхранява в правилото за валидиране, а не в клетка, така че не беше преведен. Режимът за сравнение на нашата проверка го отчете така:

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 запазва стойност, която нарушава правилото му за валидиране, но следващият човек, който отвори падащия списък, вижда само старите опции и Data > Circle Invalid Data ще маркира клетката.

Кодовете с букви се изпращат на преводача. „00123“ беше пропуснат, защото съдържа само цифри. „A-77“ и „B-09“ бяха изпратени, защото съдържат буква. Дали кодът ще се върне непроменен, тогава зависи от модела; нищо в обработката на файла не го защитава. SKU, който се върне като „A-77-Artikel“, разваля всяко търсене, което го използва.

Двуезичната работна книга

Двуезичният файл вмъква колона за превод отдясно на всяка колона, която е имала поне една преведена клетка, със заглавия като „Name (Translated)“. Той премества стойностите на клетките в новите им колони, но не мести форматите на клетките и не актуализира формулите. В нашия тест:

  • форматът за цена $#,##0.00 остана в колона C, която сега съдържа имена на продукти, докато цените се преместиха в колона E без него;
  • форматът за дата остана в колона G, която сега съдържа количеството, така че количество 10 се показваше като дата;
  • =C2*D2 се премести в колона K, но все още сочеше към C2 и D2, които сега съдържат името на продукта и превода му, така че вече не може да върне 45;
  • в листа Summary, =SUM(Products!F2:F4) сега сумираше празна колона за превод.

Така че двуезичната работна книга е за четене на източника и превода един до друг, а не за изчисления. Не я редактирайте и не копирайте формули от нея.

Диаграми и макроси

В отделно копие на работната книга добавихме диаграма и макрос проект, запазени по начина, по който Excel ги съхранява. Нито едно от двете не беше в преведения или двуезичния файл. ExcelJS чете и записва работни листове, стилове, споделен текст, изображения, таблици и коментари и няма код за части от диаграми или VBA проекта, затова ги пропуска при запазване. Същият код няма нищо за обобщени таблици, така че очаквайте и те да бъдат изпуснати, въпреки че не тествахме такава. Обработчикът също запазва изхода си като .xlsx файл, който не може да съдържа макроси.

Още едно ограничение на теста: създадохме примерната работна книга с самия ExcelJS, което е най-благоприятният случай за запазване на формати, обединени клетки и правила за валидиране. Работна книга, запазена от Excel, може да съдържа функции, които ExcelJS не моделира, затова изпълнете стъпката за сравнение по-долу върху собствения си файл, вместо да предполагате същия чист резултат.

Стъпка 2: Подгответе работната книга преди качване

Работете върху копие. Проверяващият инструмент ви казва кои клетки да промените.

  1. Преместете текстовите формули в клетки. Поставете думите в малък лист „Labels“ и насочете формулата към тях: =IF(D2>5,Labels!$A$1,Labels!$A$2). Клетките с етикети са обикновен текст, така че се превеждат и всяка формула възприема превода. Тази една промяна обикновено поправя повечето от броя на „текстовите формули“, защото една и съща фраза често се повтаря по цяла колона.
  2. Преместете списъците за избор в клетки. В Data > Data Validation променете Source от въведен списък (Stationery,Office,Art) на диапазон в листа Labels (=Labels!$B$1:$B$3). Стойностите на списъка след това се превеждат заедно с клетките, които ги използват. Проверете няколко клетки след това: падащият списък приема преведената стойност само ако моделът е превел „Stationery“ по същия начин и на двете места.
  3. Изчистете смесеното форматиране. Клетка с една удебелена или оцветена дума се съхранява като форматирани сегменти и се пропуска изцяло. Изберете клетката и изберете Home > Clear > Clear Formats или я въведете отново, след което приложете удебеляването след превода. Ако имате много такива, първо ги запишете.
  4. Решете какво да правите със записките и коментарите. Те не се превеждат. Изтрийте бележките за преглед, които не искате да изпращате към услуга за превод, и преведете останалите ръчно.
  5. Запазете работните книги с макроси като .xlsx. Запазете .xlsm като мастер файл. Преведете копие във формат .xlsx, след което или копирайте преведените текстови колони обратно в мастер файла (Paste Special > Values, само текстови колони, за да не презапишете формули), или експортирайте VBA модулите и ги импортирайте в преведения файл.
  6. Оставете диаграмите за по-късно. Диаграмата има малко текст: заглавие, заглавия на осите и легенда, която обикновено идва от клетките на заглавния ред. Често е по-бързо да възстановите диаграмата в преведената работна книга от същите диапазони или да поставите преведените текстови колони обратно в оригиналната работна книга, така че нейните диаграми и обобщени таблици да се обновят сами.

Стъпка 3: Преведете целия файл

Качете .xlsx на страницата за превод на документи, изберете целевия език и проверете показаната цена, преди да платите. Качването на цял файл превежда всяка текстова клетка на всеки лист в една задача, което улеснява запазването на едно и също име на продукт в ред 3 и ред 3000. Нашето ръководство за създаване на речник за превод обяснява как да фиксирате термини, които не трябва да се променят.

Когато задачата приключи, страницата History предлага и двете изтегляния. Използвайте преведената работна книга. Отворете двуезичната работна книга само за да прегледате формулировките с някой, който чете и двата езика.

Ако работите в Google Sheets, има два други подхода. Разделът Documents на Google Translate приема .xlsx файлове до 10 MB (Google Translate Help); нашето ръководство за превод на Google Docs сравнява опциите му. А Sheets има функция GOOGLETRANSLATE(text, source_language, target_language) (Google Docs Editors Help), която можете да попълните в нова колона до източника. Това е удобно за една колона с кратки етикети, но резултатите са формули, така че ги поставете като стойности, преди да споделите листа. DeepL също превежда документи; вижте какво означават ограниченията за документи на практика. Каквото и да използвате, първо стартирайте проверяващия инструмент върху източника: текстът във формули, връзки и диаграми се намира на същите места, независимо кой инструмент чете файла.

Стъпка 4: Проверете преведената работна книга

  1. Стартирайте режима за сравнение. Поставете източника и преведения файл един до друг:

    python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"
    

    Той проверява дали всяка формула, число и дата са непроменени, дали кодовете с букви са се върнали точно както са били и дали всяка стойност от падащ списък е в своя списък. Използвайте го само върху преведената работна книга. Тъй като двуезичният файл размества колоните, почти всяка клетка ще бъде отчетена.

  2. Преизчислете. Ако формула все още показва стария текст, след като сте поправили етикетите, натиснете F9 (или Formulas > Calculate Now).

  3. Преведете остатъците. Използвайте списъка на проверяващия инструмент от Стъпка 1: текст на връзки, бележки, заглавия на диаграми и всички клетки, които сте изчистили от форматиране.

  4. Проверете за отрязан текст. Преводите често са по-дълги от оригинала, а кратките низове се удължават най-много. W3C цитира насоки на IBM, според които средното разширяване от английски на европейски езици е 200–300% за текст до 10 знака (W3C). Заглавията на колоните са кратки, затова разширете колоните или включете „Пренасяне на текст“, когато се отрежат.

  5. Проверете показването на числа и дати. Стойностите не са променени, но „4.50“ може да трябва да се показва като „4,50“ за немски читател. Това е формат на клетката или регионална настройка, а не превод.

  6. Не „поправяйте“ имената на функциите. Ако френският Excel на колега показва SOMME вместо SUM, това е Excel, който показва своите локализирани имена на функции; формулата е същата.

  7. Настройте листовете за писане от дясно наляво. За арабски, иврит, персийски или урду включете Page Layout > Sheet Right-to-Left и проверете подравняването на клетките.

  8. Нека го прегледа свободно владеещ езика читател, ако отива при клиенти, например ценова листа или продуктов каталог. Машинният превод е добра първа чернова, но не и окончателна.

CSV и TSV файлове

Файлът .csv няма формули, формати или падащи менюта, така че повечето от проблемите по-горе изчезват. Три неща са различни:

  • Редът на заглавията не се превежда. Обработчикът приема първия ред за заглавия и превежда само редовете с данни. Преведете заглавията ръчно или ги копирайте в ред с данни преди качване и след това ги върнете обратно.
  • Колоната се превежда като цяло. Ако някоя клетка в колоната съдържа буква, всяка клетка в тази колона, която съдържа буква, се изпраща, включително кодовете. Режимът за сравнение чете само .xlsx, затова проверете ръчно колона с кодове в CSV: копирайте я от двата файла в един лист и сравнете двете колони с =EXACT(A2,B2).
  • CSV се връща разделен със запетаи. Какъвто и разделител да е използвал източникът, преведеният CSV използва запетаи; файлът .tsv запазва табулаторите си. В нашия тест CSV с разделител точка и запетая се върна разделен със запетаи, като десетичните запетаи като „4,50“ бяха запазени в кавички. Файлът е UTF-8 без маркер за ред на байтовете. Microsoft казва, че Excel отваря нормално UTF-8 CSV, когато има такъв маркер, а иначе препоръчва да се импортира с Data > Get Data > From Text/CSV (Microsoft Support). Ако щракнете двукратно върху файла и видите объркани акценти, импортирайте го по този начин.

Ако данните ви са в работна книга с формули, преведете .xlsx. Експортирането в CSV за превод изхвърля всяка формула.

Чести проблеми

ПроблемВероятна причинаКакво да направите
Цяла колона все още казва „In stock“Думите са във формула IFПреместете ги в клетки за етикети и насочете формулата към тях
Падащо меню отхвърля преведената стойностРазрешените стойности са въведени в правилото за валидиранеПроменете Source на правилото на диапазон от клетки и преведете диапазона
Продуктов код се е променилСъдържа букви, затова е изпратен на преводачаПоправете го от източника; пускайте режима за сравнение при всяка доставка
Една клетка изобщо не е преведенаИма смесено форматиране или е връзкаИзчистете форматирането или редактирайте текста на връзката, след което преведете отново или коригирайте ръчно
Диаграмата или макросите липсватБиблиотеката, използвана за пренаписване на файла, не ги запазваПреведете копие на .xlsx и прехвърлете преведения текст обратно в оригинала
Общите суми са грешни в двуезичния файлДобавените колони изместват стойностите, но не формулите или форматитеИзползвайте преведения работен файл за всякакви изчисления
Ударенията изглеждат объркани в преведения CSV файлExcel е отгатнал грешно кодиранетоИмпортирайте го с Data > Get Data > From Text/CSV
Качването е отказаноФайлът е .xls или изисква парола за отварянеЗапазете го като нормален .xlsx без парола за отваряне (защитата само на листа е достатъчна)

Същият принцип важи и за слайдовете: PowerPoint презентацията също запазва текст на места, които преводачът пропуска, а проверката за онази статия работи по същия начин като тази.

Свързани публикации