質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

696閲覧

別のファイルからViewControllerに引っ張って使用している複数の質問が入ったリストをLocalizationで多言語化したい。

Kotaro22

総合スコア21

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/06/26 08:47

編集2019/06/27 00:24

前提・実現したいこと

"QuestionBank"ファイルに作った質問リストを別のUIViewControllerのファイルに引っ張ってきてLocalizationで多言語化しようとしているのですがが出来なくて閉口しています。 何か良い解決策をアドバイスしてもらえませんか? 質問リスト内にある36個の質問を画像内にある"QuestionLabel"に日本語で表示させる為にLocalizationさせたいと考えています。イメージ説明

画像内Navigator areaの"Model"グループの中にある"QuestionSystem"ファイルに

class QuestionSystem {

var questionText : String init(text: String) { questionText = text }

のコードを作り、その下のQuestionBankのファイルに複数の質問を

class QuestionBank {

var list = QuestionSystem

init() { let item = QuestionSystem(text: "01") list.append(item) list.append(QuestionSystem(text: "02")) list.append(QuestionSystem(text: "03"))

の様にappendしています。この複数の質問を画像下部のsetUpTranslationでLocalizationを有効にし多言語化したいのですが画像内の様なエラーが出ます。

またエラー部分の

"let str = NSLocalizedString(allQuestions[questionNumber as NSIndexPath].row, comment: "")"

を以下の様に書き換えた場合も"Cannot convert value of type 'IndexPath.Type' to type 'NSIndexPath' in coercion" というエラーにより前に進みあぐねています。

let str = NSLocalizedString(translations[IndexPath as NSIndexPath].row, comment: "")

また下記のコードの場合1番最初に入っているデータだけlocalization出来るのですが残りを多言語化する事が出来ません。
let str = NSLocalizedString(allQuestions.list[questionNumber].questionText, comment: "")

発生している問題・エラーメッセージ

"Cannot convert value of type 'IndexPath.Type' to type 'NSIndexPath' in coercion"

エラーメッセージ

### 該当のソースコード ```ここに言語名を入力 ソースコード

試したこと

以下のサイトを参考にしながら格闘したのですが中々上手に修正する事に漕ぎ着けません。助言を頂けないでしょうか? 質問リスト内の36個の質問Localizationさせて画像内"QuestionLabel1"に表示させたいと考えています。

https://i-app-tec.com/ios/localization.html
https://qiita.com/simorgh3196/items/c9b04377dfa1425085c3
https://qiita.com/de_kichi/items/b7b12a03871c3f3bb73f
https://qiita.com/mono0926/items/c41c1ce18b90b765a8f2

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

text: "01"

の"01"を取り出したいのでしたら、

let str = NSLocalizedString(allQuestions[questionNumber as NSIndexPath].row, comment: "")

let str = NSLocalizedString(allQuestions.list[questionNumber].questionText, comment: "")

とかじゃないでしょうかね。

投稿2019/06/26 08:56

takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kotaro22

2019/06/26 10:05

回答ありがとうございます。01だけのLocalizationはtakabosoftさんの方法で成功しました。私は36個の質問全てを1つのラベルにLocalization出来たら良いと思っているのですが何か方法はないものでしょうか?
takabosoft

2019/06/27 00:17

質問の内容がよく理解できませんが、questionNumberは使わないって事ですか? forなりなんなりでallQuestions.list全部をローカライズして適当に文字列結合してラベルに突っ込めば良いんじゃないでしょうか。
Kotaro22

2019/06/27 00:40

forで全ての質問をLocalizationする事が出来ました。未熟な自分にアドバイスしてくれて本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問