A Piece of Cake / C'est de la tarte (le français)

Yep, known issue. There’s a few like that. Events involving certain items of clothing also have similar issues, due to the game looking for references to translated strings in the script/game files which are still in french. I’m not savvy enough to fix the problem hence why I’m sharing this here with people more likely to have time/skills for it.

The basic idea of how the translation system built into renpy works seems to be that the translation files override certain words/lines, but only where defined. Anything not overridden in the translation files is instead taken from the original files. If the game searches for a reference in french that’s translated, or one that is in english that doesn’t yet have a proper translation, it can’t find it and throws an error.

The current translation file has some quick n dirty fixes for certain things (that I made by just temporarily removing translated words for variables like height that weren’t working properly)

1 Like

Wouldn’t it be better then to make an alternate English version by downloading that English translation & doing a few manual fixes?

I was wondering how the RenPy translation system got around that - variables that are shown directly to the user and used in conditions - it seems it doesn’t. You’d have to design those things out of the original code first - it is kinda dirty from a programming perspective.

I started hand translating some bits, then took a different approach; writing a utility that patches the main script files directly. I’m about half way through, and the game still works.

1 Like

The best practise would be to make sure variables have both a non-printed and printed form to avoid this, correct? That way, the outputs can be patched while leaving the underlying code the same. Anyhow, that sounds interesting; I think there are solutions using their translation system but that’s mean poking around their forums. The tool I used was fairly rudimentary.

For those interested, the main documentation on renpy’s translation stuff is here: Translation — Ren'Py Documentation

1 Like

Everywhere something breaks due to a translated variable it is pretty easy to edit the English script.rpy file to fix it, even just using find/replace in notepad++. The only thing that complicates things is, because its a machine translation, sometimes the variable gets translated differently so you won’t always be replacing the same English word. But I think I only encountered that one or two times.

A shame the machine translation tool only translates certain content. Most of the character self-examination is untranslated as a result. Also certain drug names get translated but then I can’t find that text anywhere in the translation files.

Translated files.7z (4.8 MB)

Been pecking away at the translated files for a bit, got the “moi” menu crash fixed and got most of the descriptive dialogue translated. Only bug I’ve found so far is an error gets thrown when i try to wear a bikini to the pool but once you press ignore everything will carry on as normal

5 Likes

how can i get the friend to move in or cure her problem of weight loss?

I’ve got to the point late this evening where I can patch my game so every line is in hand tweaked English. I’m just playing it through to look for typos (some) and bugs (none so far). I guess the next step is to make a patch utility that can either fix the original scripts or the translation files.

4 Likes

Hey i sent a link to parvinjaan about this forum and seeing if he/she might join this forum to help with progress and bugs to fix as well

Go to college till you have a teacher job, then work till you have a studio + computer, get your curvyvids account going till you’re rich and then you can safely meet your friend.

You have to make her eat a lot often.

I would like to point out that at this point the game is very easy once you get enough money to buy lottery tickets and then buy the bar and lab. The lottery tickets are very consistent once you buy enough.
In order to make your friend not die, being rich helps, but if you are trying to play without lottery then I suggest getting to at least the studio so you can invite them over. This way you can make sure they don’t die and you can get the job for the fancy clothing store. Requires that your friend likes you enough and you discuss work with them.
After that you can buy said fancy clothing store and then you can more or less live off the combined money you get from owning the 3 work places. Fair warning that sometimes they give out abysmal money so keep an eye on that.

I didn’t get much further than that because of how tedious the game gets after that point, I do really like the game though, hopefully it will get more fleshed out with event and more characters.

the game is losting the point, i say is a game of wg is a little hard when become and much more if you dont know what to do when have malade, the numbers (for me) are much better than a simple bar the rest are ok

I like how the text says “In the night you toss and turn. You have no idea why, but your stomach hurts”.
… ate 6 bowls of pasta …
@ has no idea why her stomach hurts. I wonder why indeed :thinking:

1 Like

There is a food service you can buy for your friend to keep her gaining weight and not starve to death. I’m not sure what unlocks it though, but it’s under the “See X–>Something else” tab when it unlocks.
There are a lot of random events in this game and it’s pretty difficult to find out what flags them to fire off for the player. I hope the dev chimes in on this eventually.
And the Curvyvids advertisement option is very OP. You can just spam it to increase your follower count to several hundred thousand and just bring in a ridiculous amount of money.
I really like this game so far though, it really shows off what you can do with just text alone. Can’t wait for further updates.

I’m pretty confident you have to reach a certain familiarity via feedings etc and in the park you’ll get a scene where you have to choose between 3 answers, about what would happen if someone drank the lake (and it’s the bottom one).

Yeah, I’ve gotten past that point, but I always selected the middle one, the “I hope you let me find out” option
I’m pretty sure that you need to do water bloats on your friend in order for her to gain weight. It’s the only thing that worked for me, otherwise she would gain up to a certain point and just plateau. But if you beat her record on water bloats she would gain more easily.
I’m just saying there is more than you realize in this game. For example there is another event where a photoshoot job opportunity that opens up, where a plus size photographer will bump into you if you walk around the town. It only fires if you get fat enough for it though.

I’ve made a hand-crafted translation of sorts, and a tool to apply it:

patch-poc-v0.11.zip

This can patch the game into English-only, or try and fix some of the Ren-Py style translations. Download the zip, unpack it, read the ReadMe, then run the GUI based patcher (Java based, as it’s me doing it).

ReadMe follows:

English language mod for C'est De La Tarte / A Slice of Cake
============================================================

The original game, by Parvinjaani, can be downloaded from

https://parvinjaan.itch.io/a-piece-of-cake

(You'll need to download and unpack it first of course!)

It's a simulation style game where you play a young woman
turfed out of her home by her parents on her 18th birthday
and have to survive. There are WG elements, but they aren't
compulsary. It looks simple, but soon opens up as various
things happen to you.

The game is in French, and this utility does it's best to
convert it to English. The translation is a bit rough and
ready, my French isn't /that/ good, but it's much improved
over a machine translation.


How to Use
----------

If you've unpacked the .zip file, you should find this read
me and a Java archive. Providing you have Java installed
properly you should just be able to double click on the .jar
file to run it and start the GUI.

* Click on the [Open] button to bring up a file selector.
* Navigate to the game folder (Cestdelatarte-0.11-pc) or similar.
  If you can see folders called "game", "lib", "renpy" you are
  too far down.
* Single click on the game folder and then press the [Open] button.
* The [Patch] button should now be available, and possibly the
  [Patch translation] button, giving you one of two options.

Patch
-----

This makes backups of the screen and script files, and then applies
the translations to them, converting the game into English only.
So far, this seems the most sucessful.

Patch translation
-----------------

If you've previously installed an English language pack that's
been made available on Weight Gaming:

See: https://forum.weightgaming.com/t/a-piece-of-cake-cest-de-la-tarte-le-francais/6454/36

Then this option becomes available. At the time of writing, these
were mostly machine translations, and even worse than mine.
Using this option applies my translations to these, leaving a
game where you can choose between English and French in the
preferences menu. However, some descriptions still come out
in French, or a mis-mash of French and English because of the
way a few of the game's variables are used.

Afterwards...
-------------

You'll find two new files "map-screens.txt" and "map-script.txt"
along with this read me. These are the translations that were used.
There are pairs of lines like:

o Oui
  Yes

Obviously the ones that start with an 'o' are the original French,
and the line below the English alternative.

Lines like

o Orange
=

Show that no translation is required. A totally blank line means
that a translation is still needed.

If you want to improve things, you can edit these files and patch
the game again; they will take precedence over the built in rules.


Caveats
-------

Some things can't easily be fixed. There's no simple answer to the
a/an indefinte article agreeing with what follows. The translation
is a bit rough and hurried, and there are some things I definitely
wasn't sure what was meant. Some of it is a best guess. Some I
just had to go with what seemed to fit.

I haven't translated many of the food names, deliberately, as to
me they added to the charm. It's easy enough to Google those,
or better still try them out yourself! It would be all to easy
to Americanise it all, but a doughnut isn't the same thing as
a beignet (try them both) and so on.

Oh yes, it's British English, because, well, that's where I'm from,
and the spellings are a bit closer.

Hopefully someone with better language skills than me can suggest
better alternatives.


Going Forward
-------------

C'est de la Tarte / A Piece of Cake is still being developed.
I can't be entirely sure, yet, but trying to patch a later version
will result in the new text of any additions remaining in French.
Fixing the blank lines in the mapping files would complete the
translation.


Going Backward
--------------

I'm planing to add a restore button, but until then use a file
explorer to go into the Cestdelatarte-v0.11-pc/game folder,
and copy the following files back:

  screens-rpy.copy -> screens.rpy
  script-rpy.copy -> script.rpy


Why Java?
---------

* It's the programming language I know best!
* Ren-Py is cross platform, so is Java
* I don't know how to do this quickly in Python!


Credits (sort of) / Contacts
----------------------------

Obviously Parvinjaan for the original game - show them some love!
This patcher, and translations, by me, Dingotush (with the help
of Google and Wikipedia).

You can find me on Weight Gaming forums, and on the Parvinjaan Games
discord when I've discord running.


Enjoy!
6 Likes

Hey thanks dude! Your translation is really great :smiley:

1 Like

Thanks. Game makes more sense now.

1 Like

Unfortunately, the patch is breaking something with Ren-Py. I can’t quite figure it out myself, so I’ll post the traceback file here to see if you can, with the personal info in the file paths blanked with [brackets], of course. EDIT: Preformatted text box is working weird, gonna swap it into a quote instead.

I’m sorry, but an uncaught exception occurred.

While parsing E:[DIRECTORY]\Cestdelatarte-0.11-pc/game/screens.rpy.
UnicodeDecodeError: ‘utf8’ codec can’t decode bytes in position 0-1: invalid continuation byte

– Full Traceback ------------------------------------------------------------

Full traceback:
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\bootstrap.py”, line 313, in bootstrap
renpy.main.main()
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\main.py”, line 364, in main
renpy.game.script.load_script() # sets renpy.game.script.
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\script.py”, line 266, in load_script
self.load_appropriate_file(".rpyc", “.rpy”, dir, fn, initcode)
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\script.py”, line 742, in load_appropriate_file
data, stmts = self.load_file(dir, fn + source)
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\script.py”, line 563, in load_file
stmts = renpy.parser.parse(fullfn)
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\parser.py”, line 2752, in parse
lines = list_logical_lines(fn, filedata, linenumber)
File “E:[DIRECTORY]\Cestdelatarte-0.11-pc\renpy\parser.py”, line 214, in list_logical_lines
data = f.read().decode(“utf-8”)
File “/home/tom/ab/x64lucid-deps/install/lib/python2.7/encodings/utf_8.py”, line 16, in decode
UnicodeDecodeError: ‘utf8’ codec can’t decode bytes in position 0-1: invalid continuation byte

Windows-8-6.2.9200
Ren’Py 7.2.0.424

Thu Oct 03 19:34:18 2019

EDIT2: Might have figured something out. Is map-script.txt supposed to look like this?

o balan챌ant librement dans un t-shirt pr챗t 횪 exploser.
swinging freely in a t-shirt ready to explode.

And so on for other lines. I think a locale change I made to play one of j8867bbw’s games before it got translated is interacting with accented letters being generated in the patch, which is then breaking Ren-Py because it isn’t meant to read characters from a different locale… well, that’s my guess anyways. Sorry to come to you with a problem that is likely localized to my computer, specifically. I’ll try to work on it on my end some more.