Какой код языка я должен использовать для поддержки нескольких языков?
Я хочу использовать таблицы перевода, как описано здесь в третьем примере.
Это не сложно реализовать, но что мне интересно, так это то, как я хочу кодировать эти языки? Я посмотрел файлы ISO 639-3, которые содержат самые последние языки и их коды, но стоит ли включать их все?
Language
Таблица должна обеспечивать все виды языков для Stores
, Этим магазинам разрешается самим решать, какие языки они хотят поддерживать. Тем не менее, моя база данных расскажет им, сколько языков существует.
Итак, есть ли список часто используемых языков? Я не думаю, что Facebook и / или Google действительно поддерживают 7866 языков, что является количеством языков, перечисленных в ISO 639-3.
Или я бы использовал коды названий языковой культуры, такие как en-UK
, en-US
, de-AT
, так далее.?
1 ответ
Если я понимаю ваш вопрос, вы спрашиваете, должны ли вы создать справочную таблицу с 7866 строками, по одной для каждого языка в ISO 639-3. Я на самом деле не вижу недостатка, так как он не потребует больших затрат на хранение или производительность по сравнению с хранением подмножества.
Реальный вопрос в том, какие языки вы хотите перевести и хотите ли вы поддерживать диалекты. Если вы этого не сделаете, вы можете просто использовать такие языки, как en, fr и т. Д., И вы можете просто сохранить их в справочной таблице, если хотите (хотя экономия минимальна).
Если вы хотите диалекты, то вам понадобятся en-us, en-gb и т. Д. Поскольку они должны опираться на версию без диалекта (то есть просто на en), для ваших столбцов было бы хорошей идеей различать язык и диалект. Таким образом, вы можете хранить "en | us", "en | gb" (возможно, также "en | null"), и будет легко предоставлять переводы в качестве переопределений, но большинство из них будут возвращаться к диалекту по умолчанию.