title: How to properly use VarArgs for localizing strings?
body: <p>I have a String extension that helps me internationalise. </p>
  
  <pre><code>public extension String {
      var localized: String {
          return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
      }
  
      func localized(args:CVarArg...) -&gt; String{
          return NSString.localizedStringWithFormat(self.localized as NSString, args) as String
      }
  }
  </code></pre>
  
  <p>This way I can easily use "hello_world".localized anywhere in the app and it works nicely.</p>
  
  <p>Now I want to have the same functionality, but also want to be able to pass arguments. However passing the 'CVarArg...' doesn't seem to work as I'd expect it to. </p>
  
  <p><code>"grant_gps_access".localized("MyApp")</code></p>
  
  <p>Expected result: <em>"Please grant MyApp GPS access"</em></p>
  
  <p>Actual result: <em>"Please grant (\n    MyApp\n) GPS access"</em></p>
  
  <p>What am I missing here?</p>