From 8c3ddc2a287627e3729c432b5f367d12274ebd69 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sat, 7 Dec 2024 20:24:09 +0100 Subject: [PATCH] feat: :sparkles: Implement internationalization --- .vscode/extensions.json | 3 + biome.json | 8 +- bun.lockb | Bin 451808 -> 457136 bytes components/notes/content.vue | 3 +- components/notes/header.vue | 3 +- components/notes/menu.vue | 2 +- components/notes/reblog-header.vue | 3 +- components/notifications/follow-request.vue | 13 +-- components/oauth/login.vue | 15 +-- components/preferences/emojis/emoji.vue | 19 ++-- components/preferences/profile/editor.vue | 67 ++++++------ components/profiles/profile-actions.vue | 35 +++--- components/profiles/profile-stats.vue | 12 ++- components/profiles/profile.vue | 41 +++---- components/sidebars/account-switcher.vue | 11 +- components/sidebars/left-sidebar.vue | 38 ++++--- messages/en.json | 112 ++++++++++++++++++++ messages/fr.json | 109 +++++++++++++++++++ package.json | 8 +- project.inlang/.gitignore | 1 + project.inlang/project_id | 1 + project.inlang/settings.json | 15 +++ tsconfig.json | 3 +- 23 files changed, 399 insertions(+), 123 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 messages/en.json create mode 100644 messages/fr.json create mode 100644 project.inlang/.gitignore create mode 100644 project.inlang/project_id create mode 100644 project.inlang/settings.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..b797c17 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["inlang.vs-code-extension"] +} diff --git a/biome.json b/biome.json index 1115ca8..b5b3cec 100644 --- a/biome.json +++ b/biome.json @@ -75,6 +75,12 @@ "indentWidth": 4 }, "files": { - "ignore": ["node_modules/**/*", "dist/**/*", ".output", ".nuxt"] + "ignore": [ + "node_modules/**/*", + "dist/**/*", + ".output", + ".nuxt", + "paraglide" + ] } } diff --git a/bun.lockb b/bun.lockb index e967536a1c37a254a45ab4c27b8b8ee28f12f6fd..843f8a12fab6de1234edea8c34655edbbc167615 100755 GIT binary patch delta 70340 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 delta 66635 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 diff --git a/components/notes/content.vue b/components/notes/content.vue index 72bcdb8..74c6d41 100644 --- a/components/notes/content.vue +++ b/components/notes/content.vue @@ -41,6 +41,7 @@ import { cn } from "@/lib/utils"; import type { Attachment, Emoji, Status } from "@versia/client/types"; import { TriangleAlert } from "lucide-vue-next"; import { Button } from "~/components/ui/button"; +import { languageTag } from "~/paraglide/runtime"; import { type BooleanSetting, SettingIds } from "~/settings"; import { Alert, AlertDescription, AlertTitle } from "../ui/alert"; import Attachments from "./attachments.vue"; @@ -75,7 +76,7 @@ const isOverflowing = computed(() => { const characterCount = plainContent?.length; const formattedCharacterCount = characterCount - ? new Intl.NumberFormat("en-us").format(characterCount) + ? new Intl.NumberFormat(languageTag()).format(characterCount) : undefined; diff --git a/components/notes/header.vue b/components/notes/header.vue index c382006..11c41bc 100644 --- a/components/notes/header.vue +++ b/components/notes/header.vue @@ -50,6 +50,7 @@ import type { UseTimeAgoUnitNamesDefault, } from "@vueuse/core"; import { AtSign, Globe, Lock, LockOpen } from "lucide-vue-next"; +import { languageTag } from "~/paraglide/runtime"; import { SettingIds } from "~/settings"; import Avatar from "../profiles/avatar.vue"; import SmallCard from "../profiles/small-card.vue"; @@ -89,7 +90,7 @@ const timeAgo = useTimeAgo(createdAt, { invalid: "", } as UseTimeAgoMessages, }); -const fullTime = new Intl.DateTimeFormat("en-US", { +const fullTime = new Intl.DateTimeFormat(languageTag(), { dateStyle: "medium", timeStyle: "short", }).format(createdAt); diff --git a/components/notes/menu.vue b/components/notes/menu.vue index cee51b7..d943c8d 100644 --- a/components/notes/menu.vue +++ b/components/notes/menu.vue @@ -84,7 +84,7 @@ const _delete = async () => { - + Note Actions diff --git a/components/notes/reblog-header.vue b/components/notes/reblog-header.vue index a5bb9e3..60013fe 100644 --- a/components/notes/reblog-header.vue +++ b/components/notes/reblog-header.vue @@ -3,13 +3,14 @@ {{ displayName }} - reblogged + {{ m.large_vivid_horse_catch() }} \ No newline at end of file diff --git a/components/profiles/profile-stats.vue b/components/profiles/profile-stats.vue index 567664a..4576717 100644 --- a/components/profiles/profile-stats.vue +++ b/components/profiles/profile-stats.vue @@ -3,20 +3,20 @@
- Joined {{ formattedCreationDate }} + {{ m.gross_fancy_platypus_seek() }} {{ formattedCreationDate }}
- {{ noteCount }} Notes + {{ noteCount }} {{ m.real_gray_stork_seek() }}
·
- {{ followerCount }} Followers + {{ followerCount }} {{ m.teal_helpful_parakeet_hike() }}
·
- {{ followingCount }} Following + {{ followingCount }} {{ m.aloof_royal_samuel_startle() }}
@@ -24,6 +24,8 @@ \ No newline at end of file diff --git a/components/sidebars/account-switcher.vue b/components/sidebars/account-switcher.vue index 1550f45..c8945fe 100644 --- a/components/sidebars/account-switcher.vue +++ b/components/sidebars/account-switcher.vue @@ -30,24 +30,24 @@ - Add account + {{ m.sunny_pink_hyena_walk() }} - + - Account + {{ m.factual_awful_hare_drip() }} - Log out + {{ m.sharp_big_mallard_reap() }} - Register + {{ m.honest_few_baboon_pop() }}
@@ -62,6 +62,7 @@ import { UserPlus, } from "lucide-vue-next"; import { toast } from "vue-sonner"; +import * as m from "~/paraglide/messages.js"; import { NuxtLink } from "#components"; import Avatar from "../profiles/avatar.vue"; import { Button } from "../ui/button"; diff --git a/components/sidebars/left-sidebar.vue b/components/sidebars/left-sidebar.vue index 9ccdf31..7995b1f 100644 --- a/components/sidebars/left-sidebar.vue +++ b/components/sidebars/left-sidebar.vue @@ -10,8 +10,8 @@ 'https://cdn.versia.pub/branding/icon.svg' " :name="instance?.title" />
- {{ instance?.title ?? 'Versia Server' }} - {{ "A Versia Server instance" }} + {{ instance?.title ?? m.short_zippy_felix_kick() }} + {{ m.top_active_ocelot_cure() }}
@@ -21,7 +21,7 @@ - Navigation + {{ m.trite_real_sawfish_drum() }} - More + {{ m.close_short_kitten_coax() }} @@ -73,12 +73,12 @@ @@ -119,6 +119,8 @@ import { SidebarMenuSubItem, SidebarRail, } from "~/components/ui/sidebar"; +import * as m from "~/paraglide/messages.js"; +import { setLanguageTag } from "~/paraglide/runtime"; import { type EnumSetting, SettingIds } from "~/settings"; import Avatar from "../profiles/avatar.vue"; import { Button } from "../ui/button"; @@ -126,31 +128,33 @@ import AccountSwitcher from "./account-switcher.vue"; const sidebarStyle = useSetting(SettingIds.SidebarStyle) as Ref; +setLanguageTag("fr"); + const data = { navMain: [ { - title: "Preferences", + title: m.patchy_seemly_hound_grace(), url: "/preferences", icon: Settings2, items: [ { - title: "Account", + title: m.factual_arable_jurgen_endure(), url: "/preferences/account", }, { - title: "Appearance", + title: m.tough_clean_wolf_gleam(), url: "/preferences/appearance", }, { - title: "Behaviour", + title: m.legal_best_tadpole_rise(), url: "/preferences/behaviour", }, { - title: "Emojis", + title: m.novel_trite_sloth_adapt(), url: "/preferences/emojis", }, { - title: "Roles", + title: m.safe_green_mink_cook(), url: "/preferences/roles", }, ], @@ -158,31 +162,31 @@ const data = { ], other: [ { - name: "Home", + name: m.bland_chunky_sparrow_propel(), url: "/home", icon: House, requiresLogin: true, }, { - name: "Public", + name: m.lost_trick_dog_grace(), url: "/public", icon: MapIcon, requiresLogin: false, }, { - name: "Local", + name: m.crazy_game_parrot_pave(), url: "/local", icon: BedSingle, requiresLogin: false, }, { - name: "Global", + name: m.real_tame_moose_greet(), url: "/global", icon: Globe, requiresLogin: false, }, { - name: "Notifications", + name: m.that_patchy_mare_snip(), url: "/notifications", icon: Bell, requiresLogin: true, diff --git a/messages/en.json b/messages/en.json new file mode 100644 index 0000000..b5cd8ed --- /dev/null +++ b/messages/en.json @@ -0,0 +1,112 @@ +{ + "$schema": "https://inlang.com/schema/inlang-message-format", + "bland_chunky_sparrow_propel": "Home", + "lost_trick_dog_grace": "Public", + "crazy_game_parrot_pave": "Local", + "real_tame_moose_greet": "Global", + "that_patchy_mare_snip": "Notifications", + "patchy_seemly_hound_grace": "Preferences", + "factual_arable_jurgen_endure": "Account", + "tough_clean_wolf_gleam": "Appearance", + "legal_best_tadpole_rise": "Behaviour", + "novel_trite_sloth_adapt": "Emojis", + "safe_green_mink_cook": "Roles", + "short_zippy_felix_kick": "Versia Server", + "top_active_ocelot_cure": "A Versia Server instance", + "trite_real_sawfish_drum": "Navigation", + "close_short_kitten_coax": "More", + "salty_aloof_turkey_nudge": "Compose", + "quaint_low_felix_pave": "Update", + "sunny_pink_hyena_walk": "Add account", + "factual_awful_hare_drip": "Account", + "sharp_big_mallard_reap": "Log out", + "honest_few_baboon_pop": "Register", + "spicy_loved_giraffe_empower": "Profile Actions", + "cool_dark_tapir_belong": "Copy username", + "yummy_moving_scallop_sail": "Copy API data", + "sunny_zany_jellyfish_pop": "Copy ID", + "ago_new_pelican_drip": "Copy link", + "solid_witty_zebra_walk": "Copy link (origin)", + "active_trite_lark_inspire": "Open on remote", + "spare_wild_mole_intend": "Mute", + "misty_soft_sparrow_vent": "Block", + "slow_chunky_chipmunk_hush": "Refresh", + "great_few_jaguar_rise": "Report", + "flat_nice_worm_dream": "Copied to clipboard", + "ornate_tidy_coyote_grow": "Muting user...", + "empty_smug_raven_bloom": "Blocking user...", + "real_every_macaw_wish": "Requesting refresh...", + "many_cool_fox_love": "Account refreshed", + "gross_fancy_platypus_seek": "Joined", + "real_gray_stork_seek": "Notes", + "teal_helpful_parakeet_hike": "Followers", + "aloof_royal_samuel_startle": "Following", + "brief_upper_otter_cuddle": "Unfollow", + "weak_bright_larva_grasp": "Requested", + "lazy_major_loris_grasp": "Follow", + "honest_jolly_shell_blend": "This user is a Versia developer.", + "nice_bad_grizzly_coax": "Versia Developer", + "merry_red_shrimp_bump": "Automated", + "sweet_mad_jannes_create": "This account is not operated as living entity.", + "many_fair_capybara_imagine": "Follow user", + "vivid_each_warthog_edit": "Are you sure you want to follow @${account.acct}?", + "cuddly_even_tern_loop": "Follow", + "soft_bold_ant_attend": "Cancel", + "quick_basic_peacock_bubble": "Following user...", + "awake_quick_cuckoo_smile": "User followed", + "funny_aloof_swan_loop": "Unfollow user", + "cute_polite_oryx_blend": "Unfollow", + "dirty_inclusive_meerkat_nudge": "Cancel", + "big_safe_guppy_mix": "Unfollowing user...", + "misty_level_stingray_expand": "User unfollowed", + "lime_day_squid_pout": "Global", + "witty_heroic_trout_cry": "Uploaded by you", + "cuddly_such_swallow_hush": "Rename", + "tense_quick_cod_favor": "Delete", + "slimy_awful_florian_sail": "Enter a new shortcode", + "teary_antsy_panda_aid": "Edit", + "teary_tame_gull_bless": "Updating shortcode...", + "gaudy_lime_bison_adore": "Shortcode updated.", + "weary_away_liger_zip": "Deleting emoji...", + "crisp_whole_canary_tear": "Emoji deleted.", + "mellow_yummy_jannes_cuddle": "Are you sure you want to follow {acct}?", + "white_best_dolphin_catch": "Are you sure you want to unfollow {acct}?", + "bright_late_osprey_renew": "Banner", + "great_level_lamb_sway": "Recommended size: over 1500x500px", + "safe_icy_bulldog_quell": "Avatar", + "aware_quiet_opossum_catch": "Recommended size: 400x400px", + "mild_known_mallard_jolt": "Display Name", + "lime_dry_skunk_loop": "Custom emojis can be used here.", + "neat_silly_dog_prosper": "Username", + "petty_plane_tadpole_earn": "Changing this will break all links to your profile.", + "next_caring_ladybug_hack": "Bio", + "stale_just_anaconda_earn": "Markdown and custom emojis are supported.", + "aqua_mealy_toucan_pride": "Custom Fields", + "front_north_eel_gulp": "Add field", + "gaudy_each_opossum_play": "Mark account as bot", + "grassy_acidic_gadfly_cure": "Is this account sending automated messages?", + "dirty_moving_shark_emerge": "Enable follow requests", + "bright_fun_mouse_boil": "Will require approval for new followers.", + "red_vivid_cuckoo_spark": "Allow account discovery", + "plain_zany_donkey_dart": "Allow your account to be found in search results.", + "jolly_noble_sloth_breathe": "Updating profile...", + "tough_alive_niklas_promise": "No changes", + "spry_honest_kestrel_arrive": "Profile updated", + "civil_icy_ant_mend": "Banner must be less than {size} bytes", + "zippy_caring_raven_edit": "Avatar must be less than {size} bytes", + "still_upper_otter_dine": "Username can only contain lowercase letters, numbers, underscores and hyphens", + "aware_house_dolphin_win": "Must be at least 3 characters long", + "weary_fresh_dragonfly_bless": "Must be a valid email address", + "sunny_novel_otter_glow": "Must be at least 3 characters long", + "fluffy_soft_wolf_cook": "Email (or username)", + "livid_bright_wallaby_quiz": "Password", + "fuzzy_sea_moth_absorb": "Sign In", + "tidy_tidy_cow_cut": "Or continue with", + "slow_these_kestrel_sail": "Accept", + "weary_steep_yak_embrace": "Reject", + "cool_slimy_coyote_affirm": "Accepting follow request...", + "busy_awful_mouse_jump": "Follow request accepted.", + "front_sunny_penguin_flip": "Rejecting follow request...", + "green_flat_mayfly_trust": "Follow request rejected.", + "large_vivid_horse_catch": "reblogged" +} diff --git a/messages/fr.json b/messages/fr.json new file mode 100644 index 0000000..28e0006 --- /dev/null +++ b/messages/fr.json @@ -0,0 +1,109 @@ +{ + "$schema": "https://inlang.com/schema/inlang-message-format", + "bland_chunky_sparrow_propel": "Acceuil", + "lost_trick_dog_grace": "Public", + "crazy_game_parrot_pave": "Local", + "real_tame_moose_greet": "Global", + "that_patchy_mare_snip": "Notifications", + "patchy_seemly_hound_grace": "Préférences", + "factual_arable_jurgen_endure": "Compte", + "tough_clean_wolf_gleam": "Apparence", + "legal_best_tadpole_rise": "Comportement", + "novel_trite_sloth_adapt": "Émojis", + "safe_green_mink_cook": "Rôles", + "short_zippy_felix_kick": "Versia Server", + "top_active_ocelot_cure": "Une instance de Versia Server", + "trite_real_sawfish_drum": "Navigation", + "close_short_kitten_coax": "Plus", + "salty_aloof_turkey_nudge": "Composer", + "quaint_low_felix_pave": "Mettre à jour", + "sunny_pink_hyena_walk": "Ajouter un compte", + "factual_awful_hare_drip": "Compte", + "sharp_big_mallard_reap": "Se déconnecter", + "honest_few_baboon_pop": "Créer un compte", + "spicy_loved_giraffe_empower": "Actions du profil", + "cool_dark_tapir_belong": "Copier le nom d'utilisateur", + "yummy_moving_scallop_sail": "Copier les données de l'API", + "sunny_zany_jellyfish_pop": "Copier l'ID", + "ago_new_pelican_drip": "Copier le lien", + "solid_witty_zebra_walk": "Copier le lien (origine)", + "active_trite_lark_inspire": "Ouvrir l'origine", + "spare_wild_mole_intend": "Muter", + "misty_soft_sparrow_vent": "Bloquer", + "slow_chunky_chipmunk_hush": "Rafraîchir", + "great_few_jaguar_rise": "Signaler", + "flat_nice_worm_dream": "Copié dans le presse-papiers", + "ornate_tidy_coyote_grow": "Mutage de l'utilisateur...", + "empty_smug_raven_bloom": "Blocage de l'utilisateur...", + "real_every_macaw_wish": "Demande d'actualisation...", + "many_cool_fox_love": "Compte actualisé", + "gross_fancy_platypus_seek": "Inscrit en", + "real_gray_stork_seek": "Notes", + "teal_helpful_parakeet_hike": "Abonné•e•s", + "aloof_royal_samuel_startle": "Abonnements", + "brief_upper_otter_cuddle": "Se désabonner", + "weak_bright_larva_grasp": "Demandé", + "lazy_major_loris_grasp": "Suivre", + "honest_jolly_shell_blend": "Cet utilisateur est un développeur Versia.", + "nice_bad_grizzly_coax": "Développeur Versia", + "merry_red_shrimp_bump": "Automatisé", + "sweet_mad_jannes_create": "Ce compte n'est pas utilisé par une entité vivante.", + "many_fair_capybara_imagine": "Suivre", + "cuddly_even_tern_loop": "Suivre", + "soft_bold_ant_attend": "Annuler", + "quick_basic_peacock_bubble": "Abonnement en cours...", + "awake_quick_cuckoo_smile": "Utilisateur suivi", + "funny_aloof_swan_loop": "Se désabonner", + "cute_polite_oryx_blend": "Se désabonner", + "dirty_inclusive_meerkat_nudge": "Annuler", + "big_safe_guppy_mix": "Désabonnement...", + "misty_level_stingray_expand": "Utilisateur désabonné", + "lime_day_squid_pout": "Global", + "witty_heroic_trout_cry": "Ajouté par vous", + "cuddly_such_swallow_hush": "Renommer", + "tense_quick_cod_favor": "Supprimer", + "slimy_awful_florian_sail": "Entrez un nouveau nom", + "teary_antsy_panda_aid": "Modifier", + "teary_tame_gull_bless": "Mise à jour du nom...", + "gaudy_lime_bison_adore": "Nom mis à jour.", + "weary_away_liger_zip": "Suppression de l'emoji...", + "crisp_whole_canary_tear": "Emoji supprimé.", + "mellow_yummy_jannes_cuddle": "Êtes-vous sûr de vouloir suivre {acct} ?", + "white_best_dolphin_catch": "Etes-vous sûr de vouloir vous désabonner de {acct} ?", + "bright_late_osprey_renew": "Bannière", + "great_level_lamb_sway": "Taille recommandée : plus de 1500x500px", + "safe_icy_bulldog_quell": "Avatar", + "aware_quiet_opossum_catch": "Taille recommandée : 400x400px", + "mild_known_mallard_jolt": "Nom d'affichage", + "lime_dry_skunk_loop": "Des émojis personnalisés peuvent être utilisés ici.", + "neat_silly_dog_prosper": "Nom d'utilisateur", + "petty_plane_tadpole_earn": "Changer ce nom brisera tous les liens vers votre profil.", + "next_caring_ladybug_hack": "Bio", + "stale_just_anaconda_earn": "Le Markdown et les émojis personnalisés sont utilisables.", + "aqua_mealy_toucan_pride": "Champs personnalisés", + "front_north_eel_gulp": "Ajouter un champ", + "dirty_moving_shark_emerge": "Activer les demandes de suivi", + "bright_fun_mouse_boil": "Une approbation sera nécessaire pour les nouveaux abonnés.", + "red_vivid_cuckoo_spark": "Autoriser la découverte de compte", + "plain_zany_donkey_dart": "Permettez à votre compte d'être trouvé dans les résultats de recherche.", + "jolly_noble_sloth_breathe": "Mise à jour du profil...", + "tough_alive_niklas_promise": "Aucun changement", + "spry_honest_kestrel_arrive": "Profil mis à jour", + "civil_icy_ant_mend": "La bannière doit être inférieure à {size} octets", + "zippy_caring_raven_edit": "L'avatar doit être inférieur à {size} octets", + "still_upper_otter_dine": "Le nom d'utilisateur ne peut contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets", + "aware_house_dolphin_win": "Doit comporter au moins 3 caractères", + "weary_fresh_dragonfly_bless": "Doit être une adresse e-mail valide", + "sunny_novel_otter_glow": "Doit comporter au moins 3 caractères", + "fluffy_soft_wolf_cook": "Email (ou nom d'utilisateur)", + "livid_bright_wallaby_quiz": "Mot de passe", + "fuzzy_sea_moth_absorb": "Se connecter", + "tidy_tidy_cow_cut": "Ou continuer avec", + "slow_these_kestrel_sail": "Accepter", + "weary_steep_yak_embrace": "Rejeter", + "cool_slimy_coyote_affirm": "Acceptation de la demande de suivi...", + "busy_awful_mouse_jump": "Demande de suivi acceptée.", + "front_sunny_penguin_flip": "Rejet de la demande de suivi...", + "green_flat_mayfly_trust": "Demande de suivi rejetée.", + "large_vivid_horse_catch": "a reblogué•e" +} diff --git a/package.json b/package.json index a7b0dcb..284c790 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,12 @@ "url": "git+https://github.com/versia-pub/frontend.git" }, "scripts": { - "build": "nuxt build", + "build": "paraglide-js compile --project ./project.inlang --outdir ./paraglide && nuxt build", "dev": "NODE_TLS_REJECT_UNAUTHORIZED=0 bun --bun nuxt dev --https --https.cert config/versia-fe.localhost.pem --https.key config/versia-fe.localhost-key.pem --host versia-fe.localhost", "generate": "nuxt generate", "emojis:generate": "bun run utils/emojis.ts", - "postinstall": "nuxt prepare", + "postinstall": "paraglide-js compile --project ./project.inlang --outdir ./paraglide && nuxt prepare", + "rebuild-i18n": "paraglide-js compile --project ./project.inlang --outdir ./paraglide", "lint": "bunx @biomejs/biome check .", "check": "bunx tsc -p ." }, @@ -69,7 +70,8 @@ "@tailwindcss/forms": "^0.5.9", "@types/html-to-text": "^9.0.4", "typescript": "^5.7.2", - "vue-tsc": "^2.1.10" + "vue-tsc": "^2.1.10", + "@inlang/paraglide-js": "1.11.3" }, "trustedDependencies": [ "@biomejs/biome", diff --git a/project.inlang/.gitignore b/project.inlang/.gitignore new file mode 100644 index 0000000..5e46596 --- /dev/null +++ b/project.inlang/.gitignore @@ -0,0 +1 @@ +cache \ No newline at end of file diff --git a/project.inlang/project_id b/project.inlang/project_id new file mode 100644 index 0000000..70d5486 --- /dev/null +++ b/project.inlang/project_id @@ -0,0 +1 @@ +9d8c2839bac9b12c091cd75e30f73bf4570b61f052e0bae7af076988269f44ed \ No newline at end of file diff --git a/project.inlang/settings.json b/project.inlang/settings.json new file mode 100644 index 0000000..16555ec --- /dev/null +++ b/project.inlang/settings.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://inlang.com/schema/project-settings", + "sourceLanguageTag": "en", + "languageTags": ["en", "fr"], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@latest/dist/index.js" + ], + "plugin.inlang.messageFormat": { + "pathPattern": "./messages/{languageTag}.json" + } +} diff --git a/tsconfig.json b/tsconfig.json index aff85fe..28eea3d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "compilerOptions": { "target": "esnext", "module": "esnext", - "allowImportingTsExtensions": true + "allowImportingTsExtensions": true, + "allowJs": true } }