Update po files from crowdin translations#5575
Conversation
Add (currently minimal) Thai translations in th_TH.po
|
There seem to be some errors in .po compilation, I'll take a look at them. |
|
Lots of newline mismatch complaints. It would be best to correct all of of this in the Crowdin sources, of course. Hmm. |
|
Looks like Crowdin ignores whitespace changes (such as added or removed newline) when uploading translations. The only thing I could do so far is deleting the string altogether and re-uploading it again. Unfortunately it deletes the provenance, which is not good. |
|
Maybe add the newlines back as a post-processing step? |
|
I'm trying to automatically remove as much trailing newlines as I can, this is quite a pain. I'll see if this reduces the number of error to a manageable amount |
|
Open-up KDE Kwrite, it's a pretty good text editor. Set the settings to remove trailing spaces on entire document. Load the po file, add a space, to update, then save, the entire document should have all trailing spaces removed. |
|
The problem is unfortunately much worse than that. We have Even if I do align all this stuff manually, the problem will recur. The Crowdin interface doesn't emphasize the trailing newline. One must be pretty technical to notice the newline presence or absence and spot this additional line break which is only manifested by cursor placement. Basically I'm trying to strip as much trailing newlines as possible, as most of them are already meaningless - the software normalizes them anyway. |
|
Also, stripping them in our source doesn't help. Crowdin doesn't recognize this change and silently discards translations whose |
|
A summary of fixing procedure: https://github.com/iorsh/fontforge/wiki/Crowdin-fix . We are destined to suffer... |
|
...while making updates on designwithfontforge, I was running into some wild behaviour with Farsi's right to left, so that's yet another thing to look forwards too ;-P perhaps ssome thinking outside the box is needed here.... What I was seeing looked something like this: so perhaps adapting to consider crowdin and newline issues.... This turns into a crazy verbose, and sort of hard to read string as a developer, but probably low (or lower) maintenance in the long run as you wouldn't need to come revisit and remodify per update. maybe something to think about? |
|
Newlines and inline formatting are generally considered a bad practice in localization. Otherwise you end up with twenty different approaches to each formatting challenge, as different languages are usually translated by different people. |
|
Btw, @JoesCat, feel free to poke me about RTL issues at designwithfontforge. That stuff is not new to me :) |
|
You're almost there.... I ran into issues earlier (with plugin-gimp-fourier and gimp-fix-ca) and discovered you'd also need to handle xgettext with one set of data, and gettext with the printf() stage. What worked, was to split it in 2 stages. My solution for the 1st stage was to do something like this: ...so, for the above, xgettext finds the string, and I needed to add a new something for xgettext, in this case, was adding d_
Thanks! If you want to poke at designwithfontforge, go ahead, but I suspect your plate is pretty full as-is right now ;-P At the moment, think I've managed to clean-up the 1st 1/3 to be all synced-up, but have yet to go through the last 2/3rd syncing and cleaning up. I also expect there's several "new" pages that need to be synced from Japanese to the other languages. Far too much to do all in one shot - and the break in between helps. ...however, 1st-thing-1st, I need to get some exercise first! Time for a walk.... |
|
I'll check in a bit |
Fixes for translated messages

Also add (currently minimal) Thai translations in th_TH.po
I'm not the person who has usually done this in the past. What I did was:
updatesin thepodirectoryFontForge.potfileth_TH.po, edited the headers and blank top message, and deleted the remaining contentsth_THto LINGUASpodirectory as CWD, ranpython ./update.py ../build/po/FontForge.potOr, at least, that's what I think I did.
I'll attach the CrowdIn zip in case other things need to happen
FontForge (translations).zip
Changes from skef#1:
\nfrom all (most)LogError()messagesmsgids to stripped strings to retain provenance of translations.pofiles, for stability and facilitation of automatic changes