Skip to content

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
Loading
Clone this wiki locally