Что означает сейф I18N?

Вот потенциально неэлегантное решение, но это единственное, что у меня есть ... Надеюсь, это поможет!

    g = sns.pointplot(x, y, data=df, ci=False);

    unique_dates = sorted(list(df['Date'].drop_duplicates()))
    date_ticks = range(0, len(unique_dates), 5)

    g.set_xticks(date_ticks);
    g.set_xticklabels([unique_dates[i].strftime('%d %b') for i in date_ticks], rotation='vertical');
    g.set_xlabel('Date');

Дайте мне знать, если вы видите какие-либо проблемы!

60
задан GEOCHET 26 February 2009 в 00:25
поделиться

9 ответов

Я + (приблизительно 18 символов) + N = безопасный InternationalizatioN

I18N означает, что шаги были сделаны во время проектирования и разработки, которое упростит Локализацию (L10N) позже.

80
ответ дан cdonner 7 November 2019 в 14:11
поделиться

i18n означает internationalization => я ( 18 букв ) n. Код это отмечено как i18n безопасный, был бы кодом, который правильно обрабатывает данные символа неASCII (например, Unicode).

9
ответ дан Rob K 7 November 2019 в 14:11
поделиться

Это чаще всего относится в код или конструкцию, готовую к I18N - т.е. легко поддерживаемое общими методами I18N. Например, следующее готово:

printf(loadResourceString("Result is %s"), result);

, в то время как следующее не:

printf("Result is " + result);

, потому что порядок слов может варьироваться по различным языкам. Поддержка Unicode, международная дата и время, форматирующая и т.п. также, квалифицирует.

РЕДАКТИРОВАНИЕ: добавил loadResourceString для создания примера близко к реальной жизни.

13
ответ дан 2 revs 7 November 2019 в 14:11
поделиться

Интернационализация. Деривация его является "буквой I, восемнадцатью буквами, буква N".

7
ответ дан chaos 7 November 2019 в 14:11
поделиться

I18N обозначает Интернационализацию.

5
ответ дан Scott 7 November 2019 в 14:11
поделиться

i18n является сокращением от "интернационализации". Это было выдумано в DEC и на самом деле использует нижний регистр я и n.

Как заметка на полях: L10n обозначает "локализацию" и использует капитал L для различения его от нижнего регистра я .

3
ответ дан Anton Gogolev 7 November 2019 в 14:11
поделиться

Без любой дополнительной информации я предположил бы, что это означает, что код обрабатывает текст как UTF8 и осведомлен о локали. См. эта статья Wikipedia для получения дополнительной информации.

можно ли быть немного более конкретными?

1
ответ дан Cal Jacobson 7 November 2019 в 14:11
поделиться

I18N обозначает Интернационализация .

Вкратце: безопасный код I18N означает, что использует некоторую таблицу поиска для текстов на UI. Для этого необходимо поддерживать кодировку неASCII. Это, могло бы казаться, было бы легко, но существуют приблизительно глюки .

1
ответ дан KovBal 7 November 2019 в 14:11
поделиться

i18n-безопасный неопределенное понятие. Это обычно относится для кодирования, который будет работать в международных общественных мнениях - с другой локалью, клавиатурой, наборы символов и т.д. Истинный i18n-безопасный код трудно написать.

Это означает, что код не может полагаться:

sizeof (символ) == 1

, потому что тот символ мог быть 4-байтовым символом UTF-32 или 2-байтовым символом UTF-16, и занять несколько байтов.

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

1
ответ дан Paul Beckingham 7 November 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: