Swift で NSLocalizedString に tableName を渡して初期化すると "Argument is not a literal string." エラー


Swift でアプリ制作を行っており、多言語対応のため、 `NSLocalizedString` メソッドを使用しております。

そこで、下記のようなコードを設定しました。（例は `ViewController.swift` ファイルの27行目に記入）

[code]

    let textString: String = NSLocalizedString(
                                "keyString",
                                tableName: "tableNameString",
                                comment: "commentString")
    
[/code]

ターミナルで `genstrings *.swift` を行うと、下記のメッセージが表示され、`.strings` ファイルが生成されません。

[code]

    Bad entry in file ViewController.swift (line = 27): Argument is not a literal string.
    
[/code]

そこで、`tableName:` を削除し、下記のように変更すると、

[code]

    let textString: String = NSLocalizedString(
                                "keyString",
                                comment: "commentString")
    
[/code]

`localizable.strings` がきちんと生成されます。

ドキュメント等を読むと、 `tableName` を設定するとファイルを分けられるようなので、そのようにしたいのですが、どうすればよいのでしょうか？

Objective-C では、 `NSLocalizedString` とは別に `NSLocalizedStringFromTable`
を使うような説明があるのですが、 Swift では、そのような説明は見つかりませんでした。

よろしくお願いいたします。




Swiftでテーブルにわけたローカライズファイルをgenstringsを利用して生成する。という質問として回答し直します

[code]

    func AAALocalizedStringFromTable(key: String, tableName: String, comment: String) -> String {
            return NSLocalizedString(key, tableName: tableName, comment: comment)
    }
    
[/code]

を作って、

[code]

    genstrings -s AAALocalizedString *.swift   #FromTableは不要
    
[/code]

とすれば生成できます。（関数定義部でエラーは出ますが正しく生成されます）

[code]

    let s = AAALocalizedStringFromTable("AAA", "BBB", "CCC")
    
[/code]

なら  
/* CCC */  
"AAA" = "AAA";  
という内容のBBB.stringsファイルが生成されます




Swiftでテーブルにわけたローカライズファイルをgenstringsを利用して生成する。という質問として回答し直します

[code]

    func AAALocalizedStringFromTable(key: String, tableName: String, comment: String) -> String {
            return NSLocalizedString(key, tableName: tableName, comment: comment)
    }
    
[/code]

を作って、

[code]

    genstrings -s AAALocalizedString *.swift   #FromTableは不要
    
[/code]

とすれば生成できます。（関数定義部でエラーは出ますが正しく生成されます）

[code]

    let s = AAALocalizedStringFromTable("AAA", "BBB", "CCC")
    
[/code]

なら  
/* CCC */  
"AAA" = "AAA";  
という内容のBBB.stringsファイルが生成されます

