Sto imparando a localizzare la mia app in cinese semplificato. Sto seguendo this tutorial su come farlo.Come formattare le stringhe localizzate in Swift?
Poiché il tutorial è basato su Obj-C, le stringhe formattate può essere scritta in questo modo: "You Like"
"Yesterday you sold %@ apps" = "Ayer le vendió %@ aplicaciones";
= "~ Es bueno? ~";
Ma sto usando Swift. E in Swift non penso che tu possa usare %@
per indicare che c'è qualcosa da posizionare lì. Abbiamo un'interpolazione delle stringhe, giusto?
La mia app è legata alla matematica. E voglio mostrare quale input (s) è usato per calcolare il risultato in un'etichetta dettagliata di una cella vista tabella. Ad esempio
--------------
1234.5678
From x, y <---- Here is the detailed label
--------------
Qui, From x, y
significa "Il risultato viene calcolato dalla xe y". Voglio tradurre questo al cinese:
从 x, y 得出
Prima, posso solo usare questo:
"From \(someVariable)"
con le stringhe di file:
"From" = "从 得出";
e questo è come vorrei usarlo nel codice
"\(NSLocalizedString("From", comment: "")) \(someVariable)"
Ma se questo noi re utilizzato nella versione cinese, la stringa finale sarà simile a questo:
"从 得出 x, y"
voglio dire che posso mettere la 从
e 得出
in due diverse voci nel file stringhe. Ma c'è un modo migliore per farlo?
Esiste un modo per specificare l'ordine dei parametri o inserire un singolo parametro più volte? In alcune lingue l'ordine di inserzione potrebbe essere invertito. Android lo consente utilizzando '% 1' e'% 2' prima dello specificatore di formato. – Suragch
Sta usando '% @' migliore di '% s' (per le stringhe)? – Suragch
@Suragch: ci sono problemi di codifica con '% s', vedere https://stackoverflow.com/a/23672885 per un esempio. - I * penso * che anche qui i parametri posizionali come '% 1 $ s' funzionano. –