BookTranslator
BookTranslator

Jak přeložit tabulku Excel bez rozbití vzorců nebo rozevíracích seznamů

Zjistěte, jaký text překladač po buňkách přehlédne v souboru .xlsx (text ve vzorcích, formátovaný text, odkazy, grafy, makra), opravte rozevírací seznamy a kódy, které může rozbít, a zkontrolujte výsledek pomocí bezplatného skriptu a testovacího sešitu.

BookTranslator

BookTranslator Team

13 min čtení

Chcete-li přeložit celý sešit aplikace Excel, nahrajte soubor .xlsx do překladače dokumentů, místo abyste překládali buňky jednu po druhé. Příkaz Kontrola > Přeložit v aplikaci Excel funguje na text, který vyberete (Microsoft Support), což je v pořádku pro popisek, ale pomalé pro ceník. Překladač souborů přečte každou textovou buňku, přeloží ji a zapíše zpět na stejnou adresu, takže vzorce, čísla a data zůstanou tam, kde byla.

Co vám ale neřekne, je, který text nikdy nepřečetl. Text napsaný uvnitř vzorce, buňka s jedním tučným slovem, odkaz, poznámka, titulek grafu: při překladu po buňkách se všechny tyto mohou vrátit v původním jazyce. A dvě věci se mohou rozbít: rozevírací seznam, jehož povolené hodnoty nebyly přeloženy, a kód produktu, který přeložen byl.

Vytvořili jsme testovací sešit se dvěma listy s textem na každém z těchto míst, napsali jsme bezplatný kontrolní skript, který vypíše, kde se text nachází, a prohnali jsme sešit lokální reprodukcí zpracování tabulek, které používá BookTranslator. Tento průvodce ukazuje, co se vrátilo, co změnit před nahráním a jak přeložený soubor zkontrolovat.

Rychlá odpověď: Co se v sešitu překládá

Kde se text nacházíPříklad z našeho testuPřeloženo pomocí BookTranslator?Co dělat
Buňky s prostým textem, včetně řádků záhlaví"Modrý zápisník", "Cena"AnoNic
Čísla, data, logické hodnoty4.5, 2026-10-30Ponecháno beze změnyZkontrolujte číselné formáty pro cílový trh
Vzorce=C2*D2Ponecháno beze změnyNic
Text uvnitř vzorce=IF(D2>5,"In stock","Low stock")NePřesuňte slova do buněk (viz krok 2)
Buňka se smíšeným formátováním"Limitovaná edice pera"Ne, celá buňka je přeskočenaNejprve vymažte formátování, nebo ji přeložte ručně
Buňky s hypertextovým odkazem"Stránka produktu"NePo překladu upravte text odkazu
Hodnota v buňce s rozevíracím seznamem"Papírnictví"Ano, ale rozevírací seznam neOpravte seznam, jinak buňka přestane být platná
Kódy s písmeny"A-77", "B-09"Odesláno překladateliPo překladu je zkontrolujte
Kódy obsahující pouze číslice nebo symboly"00123"Ponechány beze změnyNic
Poznámky a komentáře"Před uvolněním zkontrolujte název dodavatele"NePřeložte je ručně, nebo je smažte
Názvy listů a pojmenované oblasti"Produkty", PriceRangeNe, aby vzorce mezi listy fungovaly dálListy přejmenovávejte ručně jen v nutném případě, a to po kontrole vzorců
Grafy a makraSloupcový graf, projekt VBAV našem testu byly z přeloženého souboru odstraněnyPonechte originál a později je znovu vytvořte (viz níže)

Starší soubory .xls nejsou přijímány. Nejprve je otevřete v Excelu a uložte jako .xlsx. Soubory .xlsm s podporou maker jsou přijímány, ale před nahráním si přečtěte část o makrech: přeložený soubor makra neobsahuje, a pokud stažený soubor stále končí na .xlsm, před otevřením jej přejmenujte na .xlsx.

Krok 1: Spusťte kontrolu sešitu

Stáhněte si check_xlsx_text.py a spusťte jej na svém souboru:

python3 check_xlsx_text.py "Price list.xlsx"

Vyžaduje pouze Python 3 a soubor čte, aniž by jej měnil. Zde je souhrn pro náš vzorový sešit:

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

Pod počty je uvedena každá položka s listem a buňkou, například Products!E2 formula text 'In stock'. Tento seznam použijte jako seznam úkolů pro krok 2. Pokud váš sešit obsahuje grafy, textová pole, kontingenční tabulky nebo projekt maker, objeví se také v počtech.

README popisuje vzorový sešit, uvádí hashe souborů a odkazy na skripty, které jej vytvářejí, takže test můžete zopakovat.

Co se stalo s naším testovacím sešitem

Vzorový sešit jsme spustili přes kód, který používá obsluha tabulek BookTranslatoru, reprodukovaný lokálně 1. 11. 2026 se stejnou knihovnou (ExcelJS 4.4.0). Místo skutečného překladu jsme použili zástupný text, který před text každé buňky přidá „[DE]“. Tím se z testu vyloučil jazykový model, takže výsledky ukazují pouze to, co zpracování souboru odešle, zachová a zahodí.

Obsluha prochází každý list buňku po buňce. Buňku odešle k překladu pouze tehdy, pokud obsahuje hodnotu prostého textu, a přeskočí jakýkoli text složený pouze z číslic, interpunkce a symbolů. Vše ostatní v mřížce buněk se zkopíruje beze změny. BookTranslator poté vrátí dva soubory: přeložený sešit a dvojjazyčný sešit.

Přeložený sešit

Toto je soubor, který máte použít. Všech 6 vzorců, 7 čísel a dat, formáty měny a data, sloučené buňky, poznámka, pravidlo rozevíracího seznamu a pojmenovaný rozsah se vrátily beze změny. 9 buněk záhlaví a ostatní buňky s prostým textem byly přeloženy na místě. Tři výsledky vyžadují pozornost:

Text uvnitř vzorců zůstává ve zdrojovém jazyce. Sloupec Status používal =IF(D2>5,"In stock","Low stock"). Vzorec není textová buňka, takže jej obsluha nikdy nepřečte a „In stock“ zůstane v každém řádku anglicky. Totéž platí pro text spojený pomocí & nebo CONCAT a pro text uvnitř HYPERLINK.

Přeložená hodnota rozevíracího seznamu už neodpovídá svému seznamu. Buňka H2 měla rozevírací seznam, který povoloval „Stationery, Office, Art“. Hodnota buňky byla přeložena, ale seznam je uložen v pravidle ověření, nikoli v buňce, takže přeložen nebyl. Náš kontrolní režim porovnání to oznámil takto:

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 ponechá hodnotu, která porušuje pravidlo ověření, ale další člověk, který otevře rozevírací seznam, uvidí pouze staré volby a Data > Circle Invalid Data buňku označí.

Kódy s písmeny jsou odesílány překladateli. „00123“ bylo přeskočeno, protože obsahuje pouze číslice. „A-77“ a „B-09“ byly odeslány, protože obsahují písmeno. Zda se kód vrátí beze změny, pak závisí na modelu; nic ve zpracování souboru jej nechrání. SKU, které se vrátí jako „A-77-Artikel“, rozbije každé vyhledávání, které jej používá.

Dvojjazyčný sešit

Dvojjazyčný soubor vloží sloupec s překladem napravo od každého sloupce, který měl alespoň jednu přeloženou buňku, se záhlavími jako „Name (Translated)“. Přesune hodnoty buněk do nových sloupců, ale nepřesune formáty buněk ani neaktualizuje vzorce. V našem testu:

  • formát ceny $#,##0.00 zůstal ve sloupci C, který nyní obsahuje názvy produktů, zatímco ceny se přesunuly do sloupce E bez něj;
  • formát data zůstal ve sloupci G, který nyní obsahuje množství, takže množství 10 se zobrazilo jako datum;
  • =C2*D2 se přesunul do sloupce K, ale stále odkazoval na C2 a D2, které nyní obsahují název produktu a jeho překlad, takže už nemůže vrátit 45;
  • na listu Summary se =SUM(Products!F2:F4) nyní sčítal prázdný sloupec s překladem.

Dvojjazyčný sešit je tedy určen ke čtení zdroje a překladu vedle sebe, nikoli k výpočtům. Neupravujte jej ani z něj nekopírujte vzorce.

Grafy a makra

Do samostatné kopie sešitu jsme přidali graf a projekt maker, uložené tak, jak je ukládá Excel. Ani jeden z nich nebyl v přeloženém ani v dvojjazyčném souboru. ExcelJS čte a zapisuje listy, styly, sdílený text, obrázky, tabulky a komentáře a nemá žádný kód pro části grafů ani pro projekt VBA, takže je při ukládání vynechá. Stejný kód nemá nic pro kontingenční tabulky, takže očekávejte, že i kontingenční tabulky budou vynechány, i když jsme je netestovali. Obslužný program také ukládá svůj výstup jako soubor .xlsx, který nemůže obsahovat makra.

Ještě jedno omezení testu: vzorový sešit jsme vytvořili samotným ExcelJS, což je nejpříznivější případ pro zachování formátů, sloučených buněk a pravidel ověřování. Sešit uložený v Excelu může obsahovat funkce, které ExcelJS nemodeluje, takže na svém vlastním souboru spusťte níže uvedený krok porovnání, místo abyste předpokládali stejně čistý výsledek.

Krok 2: Připravte sešit před nahráním

Pracujte na kopii. Kontrola vám řekne, které buňky změnit.

  1. Přesuňte text vzorců do buněk. Umístěte slova na malý list „Labels“ a nasměrujte na ně vzorec: =IF(D2>5,Labels!$A$1,Labels!$A$2). Buňky s popisky jsou prostý text, takže se přeloží, a každý vzorec převezme překlad. Tato jediná změna obvykle vyřeší většinu počtu „text ve vzorci“, protože stejná fráze se obvykle opakuje v celém sloupci.
  2. Přesuňte seznamy pro rozbalovací nabídky do buněk. V nabídce Data > Ověření dat změňte Zdroj z ručně zadaného seznamu (Stationery,Office,Art) na oblast na listu Labels (=Labels!$B$1:$B$3). Hodnoty seznamu se pak přeloží spolu s buňkami, které je používají. Poté zkontrolujte několik buněk: rozbalovací nabídka přijme přeloženou hodnotu pouze tehdy, pokud model přeložil „Stationery“ stejně na obou místech.
  3. Odstraňte smíšené formátování. Buňka s jedním tučným nebo barevným slovem se ukládá jako formátované úseky a zcela se vynechá. Vyberte buňku a zvolte Domů > Vymazat > Vymazat formáty nebo ji znovu napište a poté znovu použijte tučné písmo po překladu. Pokud jich máte mnoho, nejprve si je poznamenejte.
  4. Rozhodněte, co udělat s poznámkami a komentáři. Nepřekládají se. Smažte poznámky z revize, které nechcete posílat překladatelské službě, a zbytek přeložte ručně.
  5. Uložte sešity s makry jako .xlsx. Ponechte si .xlsm jako hlavní soubor. Přeložte kopii .xlsx a poté buď zkopírujte přeložené textové sloupce zpět do hlavního souboru (Vložit jinak > Hodnoty, pouze textové sloupce, abyste nepřepsali vzorce), nebo exportujte moduly VBA a importujte je do přeloženého souboru.
  6. Grafy nechte na později. Graf má málo textu: název, názvy os a legendu, která obvykle pochází z buněk záhlaví. Často je rychlejší znovu vytvořit graf v přeloženém sešitu ze stejných oblastí nebo vložit přeložené textové sloupce zpět do původního sešitu, aby se jeho grafy a kontingenční tabulky samy aktualizovaly.

Krok 3: Přeložte celý soubor

Nahrajte .xlsx na stránce překladu dokumentů, vyberte cílový jazyk a před platbou zkontrolujte zobrazenou cenu. Nahrání celého souboru přeloží všechny textové buňky na všech listech v jedné úloze, což usnadňuje zachování stejného názvu produktu ve 3. a 3 000. řádku. Náš průvodce vytvořením překladového slovníku vysvětluje, jak zajistit, aby se termíny, které se nesmí měnit, neměnily.

Po dokončení úlohy nabízí stránka Historie oba soubory ke stažení. Použijte přeložený sešit. Dvojjazyčný sešit otevírejte pouze pro kontrolu znění s někým, kdo čte oba jazyky.

Pokud pracujete v Google Sheets, existují dvě další cesty. Karta Dokumenty v Google Translate přijímá soubory .xlsx do 10 MB (Nápověda Google Translate); náš průvodce překladem Google Docs porovnává jeho možnosti. A Sheets má funkci GOOGLETRANSLATE(text, source_language, target_language) (Nápověda Google Docs Editors), kterou můžete vyplnit dolů do nového sloupce vedle zdroje. To je pohodlné pro jeden sloupec krátkých popisků, ale výsledky jsou vzorce, takže je před sdílením listu vložte jako hodnoty. DeepL také překládá dokumenty; viz co jeho limity pro dokumenty znamenají v praxi. Ať už použijete cokoli, nejprve spusťte kontrolu na zdroji: text uvnitř vzorců, odkazů a grafů se nachází na stejných místech bez ohledu na to, který nástroj soubor čte.

Krok 4: Zkontrolujte přeložený sešit

  1. Spusťte režim porovnání. Položte zdrojový a přeložený soubor vedle sebe:

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

    Kontroluje, že každý vzorec, číslo a datum jsou nezměněné, že kódy s písmeny se vrátily přesně tak, jak byly, a že každá hodnota rozbalovací nabídky je v jejím seznamu. Použijte jej pouze na přeložený sešit. Protože dvojjazyčný soubor posouvá sloupce, byla by nahlášena téměř každá buňka.

  2. Přepočítejte. Pokud vzorec po opravě popisků stále zobrazuje starý text, stiskněte F9 (nebo Vzorce > Přepočítat nyní).

  3. Přeložte zbytky. Použijte seznam z kontroly z kroku 1: text odkazů, poznámky, názvy grafů a všechny buňky, u kterých jste vymazali formátování.

  4. Hledejte oříznutý text. Překlady jsou často delší než zdrojový text a krátké řetězce rostou nejvíce. W3C cituje pokyny IBM, podle nichž je průměrné rozšíření z angličtiny do evropských jazyků 200–300 % u textů do 10 znaků (W3C). Záhlaví sloupců jsou krátká, proto rozšiřte sloupce nebo zapněte Zalamování textu tam, kde se text ořezává.

  5. Zkontrolujte zobrazení čísel a dat. Hodnoty nebyly změněny, ale „4.50“ se může německému čtenáři zobrazovat jako „4,50“. To je formát buňky nebo místní nastavení, nikoli překlad.

  6. „Neopravujte“ názvy funkcí. Pokud se v Excelu vašeho kolegy ve francouzštině zobrazuje SOMME místo SUM, je to Excel, který zobrazuje své vlastní lokalizované názvy funkcí; vzorec je stejný.

  7. Nastavte listy se směrem zprava doleva. Pro arabštinu, hebrejštinu, perštinu nebo urdštinu zapněte Rozložení stránky > List zprava doleva a zkontrolujte zarovnání buněk.

  8. Nechte jej zkontrolovat plynulým čtenářem, pokud je určen zákazníkům, například ceník nebo katalog produktů. Strojový překlad je dobrý první návrh, ne konečný.

Soubory CSV a TSV

Soubor .csv neobsahuje vzorce, formáty ani rozevírací seznamy, takže většina výše uvedených problémů mizí. Tři věci jsou jinak:

  • Záhlavní řádek se nepřekládá. Zpracovatel považuje první řádek za záhlaví a překládá pouze datové řádky. Přeložte záhlaví ručně nebo je před nahráním zkopírujte do datového řádku a poté je přesuňte zpět.
  • Sloupec se překládá jako celek. Pokud některá buňka ve sloupci obsahuje písmeno, odešle se každá buňka v tomto sloupci, která obsahuje písmeno, včetně kódů. Režim porovnání čte pouze .xlsx, takže sloupec s kódy v CSV zkontrolujte ručně: zkopírujte jej z obou souborů do jednoho listu a porovnejte oba sloupce pomocí =EXACT(A2,B2).
  • CSV se vrací oddělené čárkami. Bez ohledu na to, jaký oddělovač zdroj používal, přeložené CSV používá čárky; soubor .tsv si zachovává tabulátory. V našem testu se CSV oddělené středníky vrátilo oddělené čárkami, přičemž desetinné čárky jako „4,50“ zůstaly v uvozovkách. Soubor je UTF-8 bez značky pořadí bajtů. Microsoft uvádí, že Excel otevře CSV UTF-8 normálně, pokud má tuto značku, a jinak doporučuje importovat jej pomocí Data > Získat data > Z textu/CSV (Microsoft Support). Pokud na soubor dvakrát kliknete a uvidíte zkomolené znaky s diakritikou, importujte jej tímto způsobem.

Pokud vaše data žijí v sešitu se vzorci, přeložte .xlsx. Export do CSV za účelem překladu zahodí všechny vzorce.

Časté problémy

ProblémPravděpodobná příčinaCo dělat
Celý sloupec stále říká „Skladem“Slova jsou uvnitř vzorce IFPřesuňte je do buněk s popisky a ve vzorci na ně odkažte
Rozevírací seznam odmítá přeloženou hodnotuPovolené hodnoty jsou zadány přímo v pravidle ověřeníZměňte Zdroj pravidla na oblast buněk a přeložte tuto oblast
Kód produktu se změnilObsahuje písmena, takže byl odeslán překladateliOpravte jej ve zdroji; spouštějte režim porovnání při každém dodání
Jedna buňka nebyla vůbec přeloženaMá smíšené formátování nebo je to odkazVymažte formátování nebo upravte text odkazu, poté přeložte znovu nebo opravte ručně
Graf nebo makra zmizelyKnihovna použitá k přepsání souboru je neukládáPřeložte kopii .xlsx a přeneste přeložený text zpět do originálu
Součty jsou v dvojjazyčném souboru nesprávnéPřidané sloupce posouvají hodnoty, ale ne vzorce ani formátyPro jakýkoli výpočet použijte přeložený sešit
Diakritika vypadá v přeloženém CSV souboru rozbitáExcel uhodl nesprávné kódováníImportujte jej pomocí Data > Získat data > Z textu/CSV
Nahrání je odmítnutoSoubor je .xls nebo vyžaduje heslo k otevřeníUložte jej jako běžný .xlsx bez hesla k otevření (samotná ochrana listu je v pořádku)

Stejný princip platí i pro snímky: prezentace v PowerPointu také uchovává text na místech, která překladatel přeskočí a kontrola pro tento článek funguje stejně jako tato.

Související příspěvky