iOS комитет - Формирование стека технологий - Координация и планирование - Route 256 - Построение архитектуры - Постановка технических задач - Написание статей на Habr - Выступления на митапах
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H • И ИИИИ ИИИ И ИИИИ И И И И И И И И И ИИ ИИИИ И ИИ И И
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H • И ИИИИ ИИИ И ИИИИ И И И И И И И И И ИИ ИИИИ И ИИ И И 4. Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H • И ИИИИ ИИИ И ИИИИ И И И И И И И И И ИИ ИИИИ И ИИ И И 4. Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н • К КККК КК КК К К К К К К К К К ККК К К К К К К КК
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H • И ИИИИ ИИИ И ИИИИ И И И И И И И И И ИИ ИИИИ И ИИ И И 4. Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н • К КККК КК КК К К К К К К К К К ККК К К К К К К КК 5. М М М М М М М М М М М М М
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H • И ИИИИ ИИИ И ИИИИ И И И И И И И И И ИИ ИИИИ И ИИ И И 4. Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н • К КККК КК КК К К К К К К К К К ККК К К К К К К КК 5. М М М М М М М М М М М М М • П П П П П П П П ПП П П П П ПП П ППП ПППП П П П П П П П
О О О О О О О О О О О О • П П П П П П П П ПП ППП ПП П П П П П П ПП ПП ПП П П П П П П 2. Д Д Д Д Д Д Д Д Д Д Д Д Д Д Д • О О ОО О О ОО О О О ООО О О О О ООО О О О О О О О О О О ОО 3. H H H H H H H H H H H H H H • И ИИИИ ИИИ И ИИИИ И И И И И И И И И ИИ ИИИИ И ИИ И И 4. Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н Н • К КККК КК КК К К К К К К К К К ККК К К К К К К КК 5. М М М М М М М М М М М М М • П П П П П П П П ПП П П П П ПП П ППП ПППП П П П П П П П 6. П П П П П П П П П П П П П П П П П П П П П П П
Помарки, случайное удаление при мерже 2. Дубликаты ключей • Одинаковые ключи с разными переводами 3. Hardcode строки • Извечные поиски и сочинение регулярок 4. Неверный язык перевода • Копипасты из одного языка в другие 5. Мусорные ключи • После удаления использования в коде 6. Профессиональный перевод • Review и Approve сторонних переводчиков
с другими ресурсами • Высокая скорость генерации • Есть шаблонирование • Нет проверки нескольких языков 2. R.swift • Работа с другими ресурсами • Есть проверка нескольких языков • Отсутствует шаблонирование • Скорость обработки низкая
с другими ресурсами • Высокая скорость генерации • Есть шаблонирование • Нет проверки нескольких языков 2. R.swift • Работа с другими ресурсами • Есть проверка нескольких языков • Отсутствует шаблонирование • Скорость обработки низкая
Swizzling 1. Отсутствие ключа 2. Дубликаты ключей 3. Hardcode строки 4. Неверный язык перевода 5. Мусорные ключи 6. Профессиональный перевод + На обе платформы
Заводим переводы на сервисе. Проверяем-правим. 2. RemoteLocalizationConfig.json • Создаем файлы конфигураций 3. remote-localization config find-all • Выполняем команду генерации строковых файлов 4. SwiftGen • Генерируем код для использования ресурсов через константы и функции
60 мс 1. Отсутствие ключа 2. Дубликаты ключей 3. Hardcode строки 4. Неверный язык перевода 5. Мусорные ключи 6. Профессиональный перевод + Просто и стандартно
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР 4. П П П П П П П П П П П П П П П П П П П П П П П П П П
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР 4. П П П П П П П П П П П П П П П П П П П П П П П П П П • S S SSS SSS SSS S S SSS S SS SS SSS S S S SS S S SS S SS S SS S SS SS
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР 4. П П П П П П П П П П П П П П П П П П П П П П П П П П • S S SSS SSS SSS S S SSS S SS SS SSS S S S SS S S SS S SS S SS S SS SS 5. Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР 4. П П П П П П П П П П П П П П П П П П П П П П П П П П • S S SSS SSS SSS S S SSS S SS SS SSS S S S SS S S SS S SS S SS S SS SS 5. Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р • Д ДДДД ДДДД Д Д Д Д Д Д ДД Д Д Д Д Д Д ДД ДД Д ДД Д Д ДД
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР 4. П П П П П П П П П П П П П П П П П П П П П П П П П П • S S SSS SSS SSS S S SSS S SS SS SSS S S S SS S S SS S SS S SS S SS SS 5. Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р • Д ДДДД ДДДД Д Д Д Д Д Д ДД Д Д Д Д Д Д ДД ДД Д ДД Д Д ДД 6. I I I I I I I I I I
Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л Л 2. М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М М • С С СС С С СС СС С СС С СС С С ССС ССС 3. К К К К К К К К К К К К К К К К К К К К К • Р Р Р Р Р РР Р Р Р Р РР РР Р Р РР Р Р РРРРРРР РР Р Р Р Р Р Р Р Р РР Р РРРР 4. П П П П П П П П П П П П П П П П П П П П П П П П П П • S S SSS SSS SSS S S SSS S SS SS SSS S S S SS S S SS S SS S SS S SS SS 5. Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р Р • Д ДДДД ДДДД Д Д Д Д Д Д ДД Д Д Д Д Д Д ДД ДД Д ДД Д Д ДД 6. I I I I I I I I I I • Н ННН Н ННН Н НННН Н ННН Н Н Н Н Н Н Н ННН Н Н Н Н ННН НН НН Н ННН Н Н НННН ННН Н Н Н
перенести в localization.ozon.ru • Сервис ничем не хуже внешних 3. Кодогенерация SwiftGen • Работает быстрее и гибче настраивается, чем R.swift 4. Проверяйте строки Localinter • Swift-скрипт, покрытие ошибок больше, чем R.swift 5. Региональные различия • Даты, валюта и другие единицы измерения 6. Info.plist • Название приложения, кастомизируемые системные сообщения из 7. Тексты и картинки с backend
перенести в localization.ozon.ru • Сервис ничем не хуже внешних 3. Кодогенерация SwiftGen • Работает быстрее и гибче настраивается, чем R.swift 4. Проверяйте строки Localinter • Swift-скрипт, покрытие ошибок больше, чем R.swift 5. Региональные различия • Даты, валюта и другие единицы измерения 6. Info.plist • Название приложения, кастомизируемые системные сообщения из 7. Тексты и картинки с backend