Это должно хорошо использовать NSLocalizedString в качестве ключа в словаре?

См. file() Руководство по PHP sup> :

$url    = 'http://mixednews.ru/wp-content/uploads/2011/10/0ed9320413f3ba172471860e77b15587.jpg';
$img    = 'miki.png';
$file   = file($url);
$result = file_put_contents($img, $file)

7
задан nevan king 24 June 2009 в 02:54
поделиться

3 ответа

Можно, поскольку это всего лишь строка. Тем не менее, не используйте эту технику для словарей, которые вы собираетесь записать, а затем прочитать обратно, потому что пользователь может изменить свой язык между ними, и тогда вы будете искать неправильные ключи.

13
ответ дан 6 December 2019 в 10:03
поделиться

Как отметил Питер, словарь заботится только о том, что ключ является объектом, реализующим протокол NSCopying. Строка соответствует этому, и ее содержимое не имеет значения с точки зрения законности.

Возможно, в этом случае это не будет проблемой, но много раз одно слово на одном языке сопоставлялось с двумя разными слова на другом языке в зависимости от контекста использования слова. Возможно и обратное: два слова на одном языке могут отображаться в одно и то же слово на другом языке. Это маловероятная проблема,

4
ответ дан 6 December 2019 в 10:03
поделиться

Это похоже на статический словарь, который будет создан один раз в вашей программе, а затем больше не изменяться. Поэтому я не вижу в этом проблемы. Я полагаю, что поскольку вы создаете неизменяемый словарь, он не будет изменен и архивирован; потому что в этом случае архивный файл не сможет обмениваться между пользователями с разными языковыми стандартами, потому что ключи будут разными.

Если, однако, вместо создания локализованных массивов и загрузки их в словарь вы могли бы просто имейте локализованный файл plist, который загружается в словарь. Это может сделать ваш код более читабельным.

2
ответ дан 6 December 2019 в 10:03
поделиться