Cornwall file

Cornwall is a file specification by Tt Games based upon the standard CSV file specification. The file is used to store text strings in various languages. Like standard CSV files, it uses a .CSV extension and is divided by commas. Unlike standard CSV files, however, each cell must be encapsulated in quotation marks (" "), and CR LF line breaks can exist within a cell. Unlike language TXT files, all languages are stored inside the same file.

To avoid display issues with non-ASCII characters, it is recommend to encode any Cornwall files using UTF-8 with BOM (Byte-Order Management). Such display issues can break the file when resaving it.

Syntax
This is an example of a standard Cornwall file. "LABEL","PLATFORM","TYPE","ENGLISH","AMERICAN","FRENCH","GERMAN","SPANISH","ITALIAN","DANISH","JAPANESE","RUSSIAN","POLISH","FRENCH_CANADIAN","BRAZILIAN","DUTCH","MEXICAN"

"DLC_Storage","X360","TRC","Storage device containing downloadable content has been removed. Press JUMP to exit the game and reinsert the device.","Storage device containing downloadable content has been removed. Press JUMP to exit the game and reinsert the device.","L'appareil de stockage avec le contenu téléchargeable a été déconnecté. Appuyez sur JUMP pour quitter le jeu puis reconnectez l'appareil.","Das Speichergerät, welches Inhalte zum Herunterladen enthält, wurde entfernt. Drück JUMP, um das Spiel zu beenden und das Gerät erneut einzustecken.","El dispositivo de almacenamiento que contiene el contenido descargable ha sido extraído. Pulsa JUMP para salir del juego y vuelve a insertar el dispositivo.","La periferica di memorizzazione contenente il contenuto scaricabile è stata rimossa. Premere JUMP per uscire dal gioco e reinserire la periferica.","Lagerenheden der indeholder indhold, der kan hentes, er blevet fjernet. Tryk på JUMP for at lukke spillet ned, og genindsæt derefter enheden.","","Устройство хранения данных, содержащее загружаемый контент, было удалено. Нажмите JUMP для выхода из игры и вставьте устройство.","Urządzenie magazynujące, na którym znajdowała się zawartość do pobrania, zostało odłączone. Naciśnij JUMP, aby wyjść z gry, i podłącz urządzenie ponownie.","L'appareil de stockage avec le contenu téléchargeable a été déconnecté. Appuyez sur JUMP pour quitter le jeu puis reconnectez l'appareil.","O dispositivo de armazenamento que contém o conteúdo para baixar foi removido. Pressione JUMP para sair do jogo e volte a inserir o dispositivo","Het opslagapparaat dat downloadable content bevat is niet meer aangesloten. Druk op JUMP om het spel te verlaten en sluit het opslagapparaat opnieuw aan.","El dispositivo de almacenamiento que contiene el contenido descargable ha sido eliminado. Oprime JUMP para salir del juego y volver a insertar el dispositivo." "HINT_THISISAHINT","PC","Hint","This is a hint.","This is a hint.","C'est un indice.","Dies ist ein Hinweis.","Esta es una pista.","Questo è un suggerimento.","Dette er et tip.","これはヒントです.","Это намек.","To jest wskazówka.","C'est un indice.","Esta é uma dica.","Dit is een hint.","Esta es una pista." "CHEAT_SCOREx2","All","Game","Studs x2","Studs x2","Pièces x2","Studs X 2","Piezas x2","Gettoni x2","Sten x2","スタッドx2","Детальки x2","Monety x2","Pièces x2","Peças x2","Noppen x2","Piezas x2" "FINDOUTMORE","All","Marketing","Find out more","Find out more","Découvrez plus","Mehr erfahren ...","Más información","Scopri di più","Find ud af mere","さらに詳細を見る","Узнать больше","Dowiedz się więcej","Découvrez plus","Mais informações","Meer te weten komen","Más información" "FREEPLAY_UNLOCKED","All","LegoAPI","Free Play Unlocked","Free Play Unlocked","Jeu libre déverrouillé","Freies Spiel freigeschaltet","Juego libre desbloqueado","Gioco Libero sbloccato","Frit spil låst op","フリープレイモードを解除しました","Доступен режим свободной игры","Tryb gry swobodnej odblokowany","Jeu libre déverrouillé","Jogo Livre Liberado","Vrij spelen ontgrendeld","Juego libre desbloqueado" "GEN_SKIP","All","Framework","Skip","Skip","Passer","Überspringen","Saltar","Salta","Spring over","スキップ","Пропустить","Pomiń","Passer","Pular","Overslaan","Saltar" "LEVEL1_2","All","Level","Pursuers in the Sewers - Part 2","Pursuers in the Sewers - Part 2","Poursuite dans les égouts : 2","Erste Station: Kanalisation - Teil 2","Persecución en las alcantarillas: Parte 2","Cercar rogne, nelle fogne - Seconda parte","Forfølgere i kloakkerne - 2. del","下水道の追跡者 - パート2","Гонки по канализации - часть 2","Pościek - część 2","Poursuite dans les égouts : 2","Perseguição nos Esgotos - Parte 2","Achtervolging in het riool - Deel 2","Persecución en las Alcantarillas: Segunda parte" "LANDO_GENERAL","All","Char","Lando Calrissian (General)","Lando Calrissian (General)","Lando Calrissian (Général)","Lando Calrissian (General)","Lando Calrissian (General)","Lando Calrissian (Generale)","Lando Calrissian (General)","ランド・カルリジアン(将軍)","Ландо Цалриссиан (Генерала)","Lando Calrissian (Generał)","Lando Calrissian (Général)","Lando Calrissian (General)","Lando Calrissian (Generaal)","Lando Calrissian (General)" "Cheatster_LandoGeneralSexyTime","All","Subtitle","Cheatster9000x: Lando General Sexy Time.","Cheatster9000x: Lando General Sexy Time.","Cheatster9000x: Temps sexy de Lando Général.","Cheatster9000x: Lando General sexy Zeit.","Cheatster9000x: Hora sexy de Lando General.","Cheatster9000x: Tempo sexy di Lando Generale.","Cheatster9000x: Lando General sexet tid.","チートスター9000x: 将軍ランドのセクシータイム.","Чеатстер9000x: Сексуалочка Лэндо Генерала.","Cheatster9000x: Seksowny czas Lando Général.","Cheatster9000x: Temps sexy de Lando Général.","Cheatster9000x: Tempo sexy do General Lando.","Cheatster9000x: Lando Generaal sexy tijd.","Cheatster9000x: Hora sexy de Lando General."

The above CSV file can be visualized as such:

Version differences
The format has remained largely the same throughout the years, and all games from Lego Star Wars III onwards use a single standard Cornwall TEXT.CSV in STUFF\TEXT, formatted using the syntax described above. The Complete Saga, Lego Indy 1, and Lego Batman 1 have a TRC.CSV in the same location that has a similar format to Cornwall, but lacks the PLATFORM and TYPE columns. Lego Harry Potter 1 contains both a TRC.CSV and TEXT.CSV, both using standard Cornwall syntax.