-
Notifications
You must be signed in to change notification settings - Fork 0
01. OMG. A Flowchart. Take it all in.
tetherscript edited this page Jan 31, 2025
·
2 revisions
Let's translate your project from en-US (American English) to de-DE (German).
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#19202a',
'primaryTextColor': '#ffffff',
'primaryBorderColor': '#404040',
'lineColor': '#808080',
'secondaryColor': '#1e2632',
'tertiaryColor': '#fff'
}
}
}%%
flowchart TD
START@{ shape: circle, label: "Start" }
START -->SETUP1[My Project] -->|Translate it to 'de-DE'| SETUP2(Add \Translator to my project root)
SETUP2 -->SETUP3[Add \Strings\en-US\ and copy Resource.resw to it]
SETUP3 -->SETUP4[Add \Strings\de-DE\ and copy Resource.resw to it]
SETUP4 --> SETUP5{Am I using dynamic translations?}
SETUP5 -->|Yes| SETUP6[Copy or Link to TLocalized.cs]
SETUP6 --> SETUPCOMPLETE
SETUP5 -->|No| SETUPCOMPLETE[Project Setup Complete]
SETUPCOMPLETE --> DEVLOOP[Continue Development]
DEVLOOP --> DEVLOOP1{Translation Complete?}
DEVLOOP1 -->|Yes| DONE@{ shape: circle, label: "End"}
DEVLOOP1 -->|No| LOOP[Visual Studio: Add x:Uid's and Hint Tokens to translateable .xaml elements]
LOOP --> LOOP1[Visual Studio: Use TLocalized.Get's for dynamic translations]
LOOP1 --> LOOP2[Visual Studio: Add non-translateable resources like icons or colors to Specials.json]
LOOP2 --> Trans1@{ shape: subproc, label: "Translator: Target a Project" }
Trans1 --> Trans2@{ shape: subproc, label: "Translator: Scan Target Project" }
Trans2 --> Trans3@{ shape: subproc, label: "Translator: Translate Scan Results" }
Trans3 --> Test1["Test the Translations for de-DE"]
Test1 --> TestLoop1{Packaged or Unpackaged?}
TestLoop1 --> |Packaged| Packaged1
TestLoop1 --> |UnPackaged| SetLanguageTodeDE1[Windows: Set Display Language to de-DE]
SetLanguageTodeDE1 --> SetLanguageTodeDE2[Windows: Log Out then Log In again]
SetLanguageTodeDE2 --> UnPackaged3[Visual Studio: Load project and run your translated app]
UnPackaged3 --> UnPackaged4[Visual Studio: Dev/Translate/Run your translated app]
UnPackaged4 --> UnPackaged5{Check the translations. You can continue the Dev/Translate/Run loop here in de-DE, or change language back to en-US and logout/login again}
UnPackaged5 -->|Stay in de-DE| UnPackaged4
UnPackaged5 -->|Go back to en-EN| SetLanguageToenUS1
SetLanguageToenUS1[Windows: Set Display Language to en-US]
SetLanguageToenUS1 --> SetLanguageTodeUS2[Windows: Log Out then Log In again]
SetLanguageTodeUS2 --> DEVLOOP
Packaged1{Fake the language change?}
Packaged1 --> |Yes| Packaged2[Tweak App.xaml.cs - see packaged sample app]
Packaged1 --> |No| SetLanguageTodeDE1
Packaged2 --> UnPackaged5