#ruby-on-rails #transliteration
Вопрос:
транслитерация по умолчанию заменяет неизвестные символы вопросительными знаками»?». Вместо этого я бы хотел, чтобы он оставил их как есть.
Это значение по умолчанию:
I18n.transliterate("日本語")
# => "???"
Это то, чего я хочу:
I18n.transliterate("日本語")
# => "日本語"
Как я могу этого добиться?
Если это невозможно (я думаю, что транслитерация покрывает все до UTF-8/US-ASCII), я бы, по крайней мере, хотел бы создать исключение при замене. Я пытался установить raise
значение true, но это не сработало.
Комментарии:
1. Вы можете предоставить пользовательскую реализацию транслитерации как Proc для конфигурации i18n, как описано здесь .
2. @raina77ow спасибо. Я очень новичок в ruby, не могли бы вы помочь мне с этой реализацией?
3. похоже, мне просто нужно будет написать функцию для обработки этого (я предполагаю, что у proc есть некоторые ограничения, как и у lamdas). Чего я не понимаю, так это как я могу написать «для любых неизвестных символов ничего не делать» в коде