-
Notifications
You must be signed in to change notification settings - Fork 588
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
kiosk: lf
all the strings
#9710
Conversation
<br /> | ||
Kiosk {kioskId} | ||
{lf("Kiosk {0}", kioskId)} |
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.
I don't think we want the kioskId
to be in this lf
, unless lf
doesn't do anything to random alpha-numeric strings. I'm pretty sure that the backend will always generate a code that has letters in English, so if any of the alpha characters are translated, users would never be able to upload to their kiosk.
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.
kioskId
just gets substituted in here, not translated -- only first parameter in lf / rlf is pulled for translation
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.
Oh, I figured that the whole string would get translated once the kioskId
was passed in. So that means if you have a string that possibly changes, like maybe a string that changes with state, you would need to wrap that string in lf
to make sure that the string stored as a different variable gets translated?
Ex:
const [stateString, setStateString] = useState(lf("hello"));
<>
<p>
{ lf("Kiosk {0}", stateString) }
</p>
</>
So in this example, if stateString
didn't have that lf
, then stateString would just be in English when the Kiosk {stateString}
string is 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.
The first argument to lf
(the string literal) is sent to translation. But this doesn't happen at runtime. How I think it works:
- As part of the
gulp ci
build, the strings are sent off to translation. - We get translated strings back and upload them to CDN.
- The app downloads the strings for its locale at startup.
- The app falls back to the original string literal for any non-translated strings.
<br /> | ||
Kiosk {kioskId} | ||
{lf("Kiosk {0}", kioskId)} |
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.
kioskId
just gets substituted in here, not translated -- only first parameter in lf / rlf is pulled for translation
* Add `--no-webapps` gulp option (#9622) * Add `--no-webapps' gulp option * Fix function declaration inconsistency * docs * Move kiosk project to pxt repo (#9624) * Move kiosk to pxt repo * sync latest kiosk changes from arcade repo * Move kiosk config files to arcade docs * kiosk updates * update GameDataUrl * comment missing icon resources * disable eslint, for now * fix code scan warning * Include kiosk build in npm package contents (#9631) * Sync kiosk changes (#9645) * Restore absolute url on kiosk qr code (#9660) * Add prettier to kiosk (#9667) * kiosk: increase gamepad polling frequency (#9668) * Kiosk navigation improvements (#9669) * Navigation improvements * add return types * sound effect tweak * Add switch sound to Adding Game screen * New UI effects for Kiosk, authored in Arcade (#9671) * New UI effects authored in Arcade * Update readme * Clarify readme * Moving kiosk sfx to arcade repo (#9672) * Remove unused components from kiosk (#9678) * disable app insights correlation headers (#9679) * load pxtlib into kiosk (#9680) * Made a few small navigation improvements (#9686) * Kiosk: Use pxt.tickEvent (#9687) * Kiosk: Use pxt.tickEvent * remove localhost special case * Refactor kiosk state management (#9689) * kiosk: refactor add game polling (#9691) * kiosk: refactor add game polling * show toast on game delete * poll for games even while playing a game * Kiosk: Remove direct dom manipulation (#9692) * Remove direct dom manipulation * tweak adding game css * prettier * Removed unneeded css attribute * update readme * Remove unwanted memo dependency * Kiosk: Support event-based navigation (#9700) * Kiosk: Support event-based navigation * remove unused packages * Add spacer to add game layout to keep it centered at wide resolutions * Restore link border on scan qr page * Shortened background transition time * Better focus trapping. Fix tab nav on ScanQR page. * pr feedback * prettier * lf all the strings (#9710) * kiosk: support gamepad dpad for navigation (#9712) * Identify kiosk uwp app in telemetry (#9714) * kiosk: setup react-common dependency (#9717) * react-common: support for button children (#9719) * kiosk: use button control from react common (#9720) * css fix for "press start" label on safari (#9722) * kiosk: download targetconfig.json at startup (#9723) * kiosk: download targetconfig.json at startup * update cli crowdin thing * Update cli/cli.ts Co-authored-by: Joey Wunderlich <[email protected]> --------- Co-authored-by: Joey Wunderlich <[email protected]> * Add `--noauth` option to `pxt serve` (#9725) * kiosk: persist built game js in local storage (#9726) * kiosk: persist built game js in local storage * better null check * kiosk: fixes for carousel touch nav, storage exceptions (#9731) Pushing this through in time for testing today. * fixes for carousel touch nav, storage exceptions * don't save compiled js in local storage. * Log gamepad type to telemetry (#9739) * support setting color of "loading" text in run.html (#9738) * fix for shoebox controller (#9737) * kiosk: remap esc to the controller's back button (#9735) * kiosk: fix for skipped letters when entering high score (#9734) * kiosk: fix for skipping letters when entering high score * whitespace * kiosk: store built js in indexeddb, not local storage (#9736) * kiosk: map controller Y to escapebutton functionality (#9741) --------- Co-authored-by: Joey Wunderlich <[email protected]>
Wrap all strings in
lf
. Locale remains hard-coded toen
for now.