commandlineparser / commandlineparser/commandline

Value.HelpText can be localized, but not Value.MetaName?

Open
#728 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
4.8k
Forks
478
PR merge metrics
No merged PRs in 30d

Description

I have defined an options class like this:
```cs
public class FileOptions
{
public FileOptions(IEnumerable fileCouples)
{
this.FileCouples = fileCouples;
}

[Value(
0,
Min = 1,
Max = 2,
MetaName = "FileCoupleHelpName",
HelpText = "FileCoupleHelpText",
ResourceType = typeof(Resources))]
public IEnumerable FileCouples { get; }
}
```
It is written [here](https://github.com/commandlineparser/commandline/wiki/Help-Localization) that the `HelpText` can be localized when we specify the `ResourceType` and give `HelpText` the name of the string in the Resources file. While that works for the `HelpText`, it doesn't for the `MetaName`, which is a bit unfortunate in my opinion. Indeed, the help generated with the above options class gets its help text translated, but not the meta name, which also appears in the help.

Is there a way to make it happen?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Value attribute's localization behavior and the Help Localization wiki guidance, then trace how HelpText and MetaName are resolved when ResourceType is set. Done means MetaName can be localized consistently with HelpText, with a regression test covering the example options class.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.