-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Add support for generating Windows Store listing data. #12
base: master
Are you sure you want to change the base?
Conversation
Mostly curious, any specific reason this being a C# application? From what I can tell, this can be done with a lot less lines in a simple Python script, but I might be missing some detail that got lost in the C# boilerplate :D Not that I mind the C#, but we already have some Python in this repo; keeping things more the same makes things easier. But again, I just might be missing something in the C# code :) |
Mainly because I know C# and I don't really know Python, so it would have taken me far longer to achieve the same in Python. :D The code should run on any platform .NET runs on (it's not Windows-specific). At present the code will just be run manually by me (automating Windows Store uploads may be possible, but is non-trivial). |
All stores currently are updated manually, so that is perfectly fine. Automating that is tricky, so I didn't bother with the other stores. Translations also rarely change. |
So despite there being 30 This should be ready to go, then hopefully we can get translations in for the other languages and actually use this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nitpicks, mostly to make sure we are not going to say: "huh?!" in a year or so :)
I tried to remember whether we could just merge this or not, but I really can't remember. So when you looked at my comments, we are just going to YOLO this. But it might be I need to run some magic command to get the languages visible in eints ... one problem at the time :D
|
||
if (!File.Exists(path)) | ||
{ | ||
// TODO: For now, substitute the English version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The downside of TODO
s: who is going to pick it up when?
So maybe the question .. is it actually a TODO?
new Language("ukrainian", "uk-ua"), | ||
new Language("vietnamese", "vi-vn"), | ||
|
||
// The following languages are supported by the Store, but not currently translated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this PR, that is no longer true, is it? So maybe already remove the comment, I would think.
new Language("czech", "cs-cz"), | ||
new Language("danish", "da-dk"), | ||
new Language("dutch", "nl-nl"), | ||
new Language("finnish", "fi-fi"), // Not currently selected for OpenTTD on the Windows Store |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that comment is true, why is it in here? Or might the comment become untrue at some point? Or should we disable the line in total? :)
@@ -0,0 +1 @@ | |||
##plural 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are all these languages actually plural 0
? Or is it just too much copy/paste?
Microsoft flagged up our Windows Store listing as lacking translations for the many other languages that we say we support. (Historically I just copied the English data to these other stores). To ensure we don't get kicked out of the Store, I've submitted machine-translated versions for now for all the supported languages, but it would be preferable if we can have proper translations. Luckily, this problem has already been solved for Steam, so this is my attempt to do so for the Windows Store too.
The Windows Store uses a .csv file to allow import and export of listing data, which is a bit of a pain. To make my life easier, I've written a small C# program (tested in .NET 8) to take the CSV template and generate the multiple language listings. It also enumerates the screenshots, so we should have a better selection on the Store than the single ancient screenshot I uploaded years ago. :)
In the store listing, I've basically just reused the existing Steam fields for the Windows Store. I still need to test that the generated .csv and screenshots import correctly into the Store (but can't do this until MS has approved the submission I made earlier today) - there are some length limitations on some fields, so I may need to make some tweaks yet.
There are 22 languages supported by the Store that are not currently in the repository; I added stubs for them (based on 8686de0), but if I need to do something else to get those languages to show up in the translator, let me know.