What is the pronoun replacement system and can I turn it off?

Game development with Board Game Arena Studio
User avatar
Benoit314
Posts: 82
Joined: 02 April 2020, 22:12

Re: What is the pronoun replacement system and can I turn it off?

Post by Benoit314 »

I would stick to the framework for translations. There is not a single translator on BGA, there are many. No one speak all the languages available to play.
Players are used to the translation system, I doubt they would know what to do with a loose file, plus it would be difficult to correct if there is a mistake.
If some attributes are poorly translated, someone playing the game in that specific language may catch it and go correct it, the new string will be available the next day.

About your cards, I would remove all the text except your curved text. You can add a tooltip with the curved text translated. Later on (once translations are stable), if you're motivated, strings will be in the translation system and you could do images with the curved text in different languages.
User avatar
Idsky
Posts: 132
Joined: 16 April 2020, 16:49

Re: What is the pronoun replacement system and can I turn it off?

Post by Idsky »

Getting back to Jon’s actual question, the pronoun replacement system sucks, was a really bad idea from the start that could never work properly, and it can't be turned off.

In English it replaces " his " (his with normal spaces before and after) or " his/her ", when the player_name mentioned in the notification is female or neutral gender. The replacement being " her " or " their ". So one way you could kludge it would be by using a weird unicode space, or adding a zero-width space U+200B before or after "his". I think all modern browsers support them. https://jkorpela.fi/chars/spaces.html

The system also meddles with Dutch and French text but it seems they gave up with this impossible feature after these 3 languages. After translation is done you could hack any instances of Dutch " zijn " in the same way to prevent them from being messed with. I don't quite understand what's going on with French gendered suffixes, something to do with "·" character (mental note to never use that in notifications!).

https://boardgamearena.com/forum/viewto ... 11&t=21387
User avatar
Idsky
Posts: 132
Joined: 16 April 2020, 16:49

Re: What is the pronoun replacement system and can I turn it off?

Post by Idsky »

Here’s 2 less clunky ideas.
  1. Use player_name2 instead of player_name in notifications, the system still auto-colours it for you but the pronoun mess is only associated with player_name. This is intended for using when you have 2 players interacting but I guess it would work with player_name2 by itself.
  2. Use some other field name entirely for the player name. You can do your own colouring of the player name in a format_string_recursive override (I have a function for this so I can write the coloured player name in the game area without using an undocumented function).
e.g:

Code: Select all

if(args.p_name) {
	for(var p in this.gamedatas.players) {
		if(this.gamedatas.players[p].name==args.p_name) {
			args.p_name="<span class=\"playername\" style=\"color:#"+
				this.gamedatas.players[p].color+";\">"+args.p_name+"</span>";
		}
	}
}
User avatar
JonChambers
Posts: 97
Joined: 03 July 2021, 11:40

Re: What is the pronoun replacement system and can I turn it off?

Post by JonChambers »

Idsky wrote: 14 July 2021, 04:03 Here’s 2 less clunky ideas.
  1. Use player_name2 instead of player_name in notifications, the system still auto-colours it for you but the pronoun mess is only associated with player_name. This is intended for using when you have 2 players interacting but I guess it would work with player_name2 by itself.
  2. Use some other field name entirely for the player name. You can do your own colouring of the player name in a format_string_recursive override (I have a function for this so I can write the coloured player name in the game area without using an undocumented function).
e.g:

Code: Select all

if(args.p_name) {
	for(var p in this.gamedatas.players) {
		if(this.gamedatas.players[p].name==args.p_name) {
			args.p_name="<span class=\"playername\" style=\"color:#"+
				this.gamedatas.players[p].color+";\">"+args.p_name+"</span>";
		}
	}
}
You get me, so much.

Imagine us both in Star Wars rebel pilot uniforms discussing how we can sneak past the Imperial Framework. Those are the emotions I’m feeling reading your post.
User avatar
Idsky
Posts: 132
Joined: 16 April 2020, 16:49

Re: What is the pronoun replacement system and can I turn it off?

Post by Idsky »

JonChambers wrote: 14 July 2021, 04:38 You get me, so much.

Imagine us both in Star Wars rebel pilot uniforms discussing how we can sneak past the Imperial Framework. Those are the emotions I’m feeling reading your post.
Thanks.
I'm happy to get the framework to do stuff for me whenever possible and documented, even if it isn't the way I would have built the framework if I had personally made BGA. I certainly wouldn't want to do translations for 42 languages myself in CSV files or have 42 sets of card images. But I'll make stuff work some other way if and when the Dark Side is being silly (like your pronoun issue).
User avatar
Een
Posts: 3861
Joined: 16 June 2010, 19:52

Re: What is the pronoun replacement system and can I turn it off?

Post by Een »

JonChambers wrote: 14 July 2021, 04:38 Imagine us both in Star Wars rebel pilot uniforms discussing how we can sneak past the Imperial Framework. Those are the emotions I’m feeling reading your post.
Glad you are enjoying yourself. Reading you though, my feelings are different. Very similar to those tactfully expressed by @robinzig viewtopic.php?f=12&t=21767&start=10#p91281

But of course, that's the point of view of the dark side :D
Idsky wrote: 13 July 2021, 23:43 Getting back to Jon’s actual question, the pronoun replacement system sucks, was a really bad idea from the start that could never work properly, and it can't be turned off.
Such a pleasure to read such a measured, elegantly worded, carefully argued criticism fully acknowledging all the complexities.
JonChambers wrote: 13 July 2021, 06:17 Still waiting on my first question getting a response. Maybe I should have made two posts instead of one.
The following post is pinned in the translation forum, and certainly explains the what (and some of the complexities, acknowledging the imperfections) to anyone willing to spend the time to look around: viewtopic.php?f=11&t=21387

This system could be turned off from the game module by clearing the client side gender arrays used for substitutions. Though, doing so you would willingly misgender players, which is something else than unwillingly doing so. I wouldn't advise that, even if your sense of irony inclines you to it. If your game relies on characters and gendering, a better way would probably be be to use the character names when gender is important in your game rather than the player name. In that case, you won't have to circumvent anything in the framework (which is always a risk to your game ; the framework evolving along the years, some games have been left behind when they had built along "I know better" parallel lines that proved incompatible with subsequent evolutions). Another thing you should not do, since we are talking about translations, is rely on the English grammatical structure while thinking it's universal. It's a common near-sighted mistake making some strings impossible to translate in some languages.
JonChambers wrote: 13 July 2021, 06:17And before someone mentions how difficult this will be to maintain for the next developer, I'm not going anywhere.
That's pretty optimistic. From what I have seen along the years, life is not predictable in such a way. Life happens, priorities change, developers come and go. If you are building something with the idea that you'll always be there to tend to it, I would advise you to thing again. Also, since you don't seem the type to look around much, I would also point you to our piece of advice about developing prototypes for BGA: http://en.doc.boardgamearena.com/BGA_Ga ... ble_on_BGA

I would like to finish this post by saying that questions and constructive criticism are welcome here, as I'm sure anyone can notice from reading this forum (we are certainly aware that everything is not perfect). But toxicity is not, as clearly stated in our FAQ. Please see:
https://boardgamearena.com/faq?anchor=f ... _forbidden
https://boardgamearena.com/faq?anchor=f ... munication

To say it in a clear and direct way: JonChambers, Idsky, as a player reading you, I would not be inclined to invite you at my game table. Light side pretenders or not.
User avatar
JonChambers
Posts: 97
Joined: 03 July 2021, 11:40

Re: What is the pronoun replacement system and can I turn it off?

Post by JonChambers »

Een, that's a lot to unpack. It might be a mistake to respond to it at all, but let's see how this goes:

I suspect everyone has read the post acknowledging the pronoun replacement system's imperfections. We too are acknowledging said imperfections. Features with imperfections can be awesome, but ought to come with an off button.

I want to turn it off to PREVENT players from being mis-gendered, not to cause it. My game has NPCs, which have genders. The pronoun replacement system cannot tell the difference. This will cause bugs that only women will see, but the male game will play fine. This is not acceptable for me.

If you'd care to highlight some of my toxic comments, let me know. The framework is not a person. Dojo is not a person. If I express frustration with these things, they are not directed at their authors. Only the work itself.

I trust the authors were very talented, and the framework is very powerful at doing what it's designed to do. I use the framework most of the time for most things. I just get frustrated when there is no way to turn it off or read its source code to understand exactly what it's doing.
Post Reply

Return to “Developers”