Skip to content
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

more strings + string refinements #449

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft

more strings + string refinements #449

wants to merge 22 commits into from

Conversation

rsek
Copy link
Collaborator

@rsek rsek commented Aug 25, 2022

  • adds various strings derived from Roll20 translation data (available under MIT license). i'm accessing it via crowdin.
  • adds various (currently english-only) strings for use in post-v10 tooltips, such as stats
    • currently the convention for that key is: Foo is described by FooDescription (or FooDescriptionClassic plus FooDescriptionStarforged if there's significant differences between the two)
    • i'm trying out a convention for book excerpts where bolded terms are wrapped in <term> while references to moves are wrapped in <move>. they're not real HTML tags, but that's the point - they're just markers that are easy to extract and replace where needed
  • normalizes the casing of many strings. here are the general conventions that i'm working with currently:
    • for individual terms: follow the case used the original text. asset and move names are title cased, for instance
    • if it's going to get inserted into other strings, it should be the word's "natural" case (in English, that'd be lower case except for proper nouns)
      • example: anything used as a stat - use "health" over "Health", because it'll be inserted into strings like "Roll +{stat}"
    • if it's only going to be used as a label, capitalize it as you would a sentence
      • the argument could be made for title case, TBH -- these are some pretty marginal gains -- but if we're standardizing to something just for consistency's sake, here's a couple points in its favour:
        1. supposedly, sentence case is a bit of an easier read, as it's more "natural" (being used in everyday prose)
        2. it's probably the most correct for labels. less correct for titles, but i reckon there's some overlap in which constitutes what in a UX context
    • in most cases, the plural version ("Bonds") of a term will be title cased but the singular version ("bond") will not. this is because most of the sheets content tabs are labeled with plurals

Stuff to think about

  • is there any strings that need pruning?
  • some longer strings (mostly ChatAlert messages) have two. i'm considering ways to collapse these down to one string where possible
    • ideally these would be strings with variables, rather than strings that are appended to item titles at runtime. many languages use word orders different than english.
    • some of them might benefit from a little more detail too (e.g. including the current progress score w/ progress ChatAlert messages)
  • still working out what i want to do as far as standardizing keys 😔
    • the foundry standard seems to separate them by "module" in all caps (so "CONFIG" holds the configuration menu strings), while the string itself has a PascalCase key
  • grammatical gender can get tricky. a really dedicated translation would offer several strings for different grammatical genders (oof), or just enumerate all possible strings (big oof). to keep this from expanding beyond the scope of what we can handle here, we may just have to live with it.
    • here's an example of a workaround provided by @Potatronus in pl.json. it might not be pretty, but it gets the job done:

Screen Shot 2022-08-25 at 2 48 06 AM

- similar gotchas abound with plural forms - it's not uncommon for a language to have multiple plural forms (dual vs. "a few" vs. "many") - is it worth including the part of speech to disambiguate certain terms? e.g. "roll" (verb) vs. "roll" (noun)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant