mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
i18n(client): sync translations from Crowdin (#848)
* fix(client): remove Hungarian and Korean locales Both catalogs held nothing but English fallback values, so selecting either language produced a fully English interface that reads as broken rather than untranslated. Crowdin Translate covers only 24 languages and includes neither, so neither locale had any machine translation route, and no human translations existed yet. Drop them from the shared locale list, the Crowdin export configuration, the pull request allowlist, the catalogs, and the tests, leaving fifteen target languages. Remove both from the Crowdin project as well, after confirming each export was byte-identical to the English source so no translation work was discarded. Re-adding either is cheap once a translation route exists, whether that is a machine translation engine that supports them or a volunteer translator. Give the locale tests the same fallback semantics the application runs with. Production always loads the English catalog and points `fallbackLocale` at it, so a key a target catalog does not carry renders English. The test instances omitted both, which resolves a missing key to its own name, and several assertions compared a translated label against the English one without checking that the language actually translates that key. Both patterns pass only while every catalog is complete, and would fail confusingly the first time a language lags behind a new key. Ref #576 * i18n(client): sync French translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Spanish translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Czech translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Danish translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Finnish translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Italian translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Dutch translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Polish translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Russian translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Slovenian translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Swedish translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Ukrainian translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Chinese Simplified translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Portuguese, Brazilian translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content. * i18n(client): sync Ukrainian translations from Crowdin Keep translated catalogs synchronized with reviewed Crowdin content.
This commit is contained in:
+79
-79
@@ -3241,30 +3241,30 @@
|
||||
"ascending": "Crescente",
|
||||
"descending": "Decrescente",
|
||||
"fields": {
|
||||
"author": "Author",
|
||||
"title": "Title",
|
||||
"series": "Series",
|
||||
"seriesIndex": "Series #",
|
||||
"addedAt": "Date Added",
|
||||
"updatedAt": "Date Updated",
|
||||
"publishedDate": "Published Date",
|
||||
"publishedYear": "Published Year",
|
||||
"pageCount": "Page Count",
|
||||
"rating": "Rating",
|
||||
"publisher": "Publisher",
|
||||
"fileSize": "File Size",
|
||||
"readProgress": "Read Progress",
|
||||
"readStatus": "Read Status",
|
||||
"format": "Format",
|
||||
"lastReadAt": "Last Read",
|
||||
"startedAt": "Date Started",
|
||||
"finishedAt": "Date Finished",
|
||||
"random": "Random",
|
||||
"language": "Language",
|
||||
"metadataScore": "Metadata Score"
|
||||
"author": "Autor",
|
||||
"title": "Título",
|
||||
"series": "Séries",
|
||||
"seriesIndex": "Séries #",
|
||||
"addedAt": "Data de Adição",
|
||||
"updatedAt": "Data de atualização",
|
||||
"publishedDate": "Data de Publicação",
|
||||
"publishedYear": "Ano de Publicação",
|
||||
"pageCount": "Número de páginas",
|
||||
"rating": "Avaliação",
|
||||
"publisher": "Editora",
|
||||
"fileSize": "Tamanho do Arquivo",
|
||||
"readProgress": "Progresso de Leitura",
|
||||
"readStatus": "Status de leitura",
|
||||
"format": "Formato",
|
||||
"lastReadAt": "Última Leitura",
|
||||
"startedAt": "Data de Início",
|
||||
"finishedAt": "Data de Término",
|
||||
"random": "Aleatório",
|
||||
"language": "Idioma",
|
||||
"metadataScore": "Pontuação de Metadados"
|
||||
},
|
||||
"customFieldsGroup": "Custom fields",
|
||||
"customFieldFallback": "Custom field",
|
||||
"customFieldsGroup": "Campos personalizados",
|
||||
"customFieldFallback": "Campo personalizado",
|
||||
"remove": "Remover",
|
||||
"emptyState": "Nenhuma ordenação configurada. Ordem alfabética por título (crescente) será utilizada.",
|
||||
"addLevel": "Adicionar nível de ordenação"
|
||||
@@ -3275,63 +3275,63 @@
|
||||
"any": "QUALQUER",
|
||||
"ofFollowingRules": "das seguintes regras",
|
||||
"fields": {
|
||||
"title": "Title",
|
||||
"publisher": "Publisher",
|
||||
"language": "Language",
|
||||
"series": "Series",
|
||||
"seriesIndex": "Series Index",
|
||||
"publishedDate": "Published Date",
|
||||
"publishedYear": "Published Year",
|
||||
"pageCount": "Page Count",
|
||||
"author": "Author",
|
||||
"genre": "Genre",
|
||||
"tag": "Tag",
|
||||
"collection": "Collection",
|
||||
"library": "Library",
|
||||
"format": "Format",
|
||||
"addedAt": "Added Date",
|
||||
"startedAt": "Date Started",
|
||||
"finishedAt": "Date Finished",
|
||||
"fileAvailability": "File Availability",
|
||||
"rating": "Rating",
|
||||
"communityRating": "Community Rating",
|
||||
"readProgress": "Reading Progress",
|
||||
"readStatus": "Read Status",
|
||||
"description": "Description",
|
||||
"title": "Título",
|
||||
"publisher": "Editora",
|
||||
"language": "Idioma",
|
||||
"series": "Séries",
|
||||
"seriesIndex": "Índice da série",
|
||||
"publishedDate": "Data de Publicação",
|
||||
"publishedYear": "Ano de Publicação",
|
||||
"pageCount": "Número de páginas",
|
||||
"author": "Autor",
|
||||
"genre": "Gênero",
|
||||
"tag": "Etiqueta",
|
||||
"collection": "Coleção",
|
||||
"library": "Biblioteca",
|
||||
"format": "Formato",
|
||||
"addedAt": "Data de adição",
|
||||
"startedAt": "Data de Início",
|
||||
"finishedAt": "Data de Término",
|
||||
"fileAvailability": "Disponibilidade do arquivo",
|
||||
"rating": "Classificação",
|
||||
"communityRating": "Avaliações da Comunidade",
|
||||
"readProgress": "Progresso de Leitura",
|
||||
"readStatus": "Status de leitura",
|
||||
"description": "Descrição",
|
||||
"isbn": "ISBN",
|
||||
"metadataScore": "Metadata Score",
|
||||
"cover": "Cover",
|
||||
"lockStatus": "Lock Status",
|
||||
"seriesStatus": "Series Status"
|
||||
"metadataScore": "Pontuação de Metadados",
|
||||
"cover": "Capa",
|
||||
"lockStatus": "Status de bloqueio",
|
||||
"seriesStatus": "Status da Série"
|
||||
},
|
||||
"operators": {
|
||||
"contains": "contains",
|
||||
"notContains": "does not contain",
|
||||
"startsWith": "starts with",
|
||||
"endsWith": "ends with",
|
||||
"eq": "is",
|
||||
"notEq": "is not",
|
||||
"isEmpty": "is empty",
|
||||
"isNotEmpty": "is not empty",
|
||||
"gt": "greater than",
|
||||
"gte": "at least",
|
||||
"lt": "less than",
|
||||
"lte": "at most",
|
||||
"between": "between",
|
||||
"includesAny": "includes any of",
|
||||
"includesAll": "includes all of",
|
||||
"excludesAll": "excludes all of",
|
||||
"before": "before",
|
||||
"after": "after",
|
||||
"withinLast": "within last",
|
||||
"isMissing": "is missing",
|
||||
"isPresent": "is present",
|
||||
"isUnread": "is unread",
|
||||
"isInProgress": "is in progress",
|
||||
"isFinished": "is finished",
|
||||
"isLocked": "is locked",
|
||||
"isUnlocked": "is unlocked",
|
||||
"isUpNext": "is up next"
|
||||
"contains": "contém",
|
||||
"notContains": "não contém",
|
||||
"startsWith": "inicia com",
|
||||
"endsWith": "termina com",
|
||||
"eq": "é",
|
||||
"notEq": "não é",
|
||||
"isEmpty": "vazio",
|
||||
"isNotEmpty": "não está vazio",
|
||||
"gt": "maior que",
|
||||
"gte": "pelo menos",
|
||||
"lt": "menos que",
|
||||
"lte": "no máximo",
|
||||
"between": "entre",
|
||||
"includesAny": "inclui qualquer um dos",
|
||||
"includesAll": "inclui todos os",
|
||||
"excludesAll": "inclui todos os",
|
||||
"before": "antes",
|
||||
"after": "depois",
|
||||
"withinLast": "dentro do último",
|
||||
"isMissing": "está faltando",
|
||||
"isPresent": "está presente",
|
||||
"isUnread": "não é lido",
|
||||
"isInProgress": "está em andamento",
|
||||
"isFinished": "está finalizado",
|
||||
"isLocked": "está bloqueado",
|
||||
"isUnlocked": "está desbloqueado",
|
||||
"isUpNext": "é a próxima"
|
||||
},
|
||||
"anyProvider": "Qualquer provedor",
|
||||
"communityRatingProvider": "Provedor de avaliação da comunidade",
|
||||
@@ -6162,8 +6162,8 @@
|
||||
"smartScope": {
|
||||
"syncToKobo": "Sincronizar com o Kobo",
|
||||
"syncToKoboHint": "Os livros que correspondem a este escopo aparecerão no seu dispositivo Kobo",
|
||||
"visibleToAll": "Visible to all users",
|
||||
"visibleToAllHint": "Every user can see and use this smart scope",
|
||||
"visibleToAll": "Visível a todos os usuários",
|
||||
"visibleToAllHint": "Todo usuário pode ver e usar este escopo inteligente",
|
||||
"dialog": {
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "ex. Ficção Científica Não Lida",
|
||||
|
||||
Reference in New Issue
Block a user