title: How do I change the current Resource Manager at runtime to switch languages?
body: <p>I have a C# application and I'm trying to make it support multiple languages by referencing different resx files using the resource manager.</p>
  
  <p>I have this code in my Designer.cs:</p>
  
  <pre><code>        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
      public static global::System.Resources.ResourceManager ResourceManager {
          get {
              if (object.ReferenceEquals(resourceMan, null)) {
                  global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("project.resources.en-US", typeof(resources.en-US).Assembly);
                  resourceMan = temp;
              }
              return resourceMan;
          }
      }
  </code></pre>
  
  <p>How can I switch <code>System.Resources.ResourceManager("project.resources.en-US", typeof(resources.en-US).Assembly)</code> to <code>System.Resources.ResourceManager("project.resources.it-IT", typeof(resources.it-IT).Assembly)</code> at runtime without modifying my Designer.cs code? Is it possible?</p>
  
  <p><a href="https://stackoverflow.com/questions/3479922/how-to-switch-resx-at-runtime">This question is related</a></p>
  
  <p><em>Edit: To clarify, I realize I'm not supposed to change my designer code, but I'm trying to make it so that I access a different resx file. I apologize if my question was ill-worded, but I guess I don't completely understand what I'm talking about. I'm currently looking into satellite assemblies.</em></p>