Какой код языка я должен использовать для поддержки нескольких языков?

Я хочу использовать таблицы перевода, как описано здесь в третьем примере.

Это не сложно реализовать, но что мне интересно, так это то, как я хочу кодировать эти языки? Я посмотрел файлы 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"), и будет легко предоставлять переводы в качестве переопределений, но большинство из них будут возвращаться к диалекту по умолчанию.

Другие вопросы по тегам