Skip to content

Commit

Permalink
add jap lang
Browse files Browse the repository at this point in the history
  • Loading branch information
Boutzi committed Oct 22, 2024
1 parent ff26afc commit 293a0fa
Show file tree
Hide file tree
Showing 6 changed files with 127 additions and 5 deletions.
6 changes: 4 additions & 2 deletions components/LangSwitcher.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { FranceIcon } from "./icons/FranceIcon";
import { UnitedKingdomIcon } from "./icons/UnitedKingdomIcon";
import { ItalyIcon } from "./icons/ItalyIcon";
import { KoreaIcon } from "./icons/KoreaIcon";
import { JapanIcon } from "./icons/JapanIcon";

import {
Select,
Expand All @@ -16,7 +17,7 @@ import { useLocale } from "next-intl";
import { useRouter } from "next/navigation"; // Assurez-vous que ça vient de next/navigation
import { Link } from "@/i18n/routing";

type Language = "en" | "fr" | "it" | "kr";
type Language = "en" | "fr" | "it" | "kr" | "jp";

interface LanguageInfo {
name: string;
Expand All @@ -28,6 +29,7 @@ const languages: Record<Language, LanguageInfo> = {
fr: { name: "Français", Icon: FranceIcon },
it: { name: "Italiano", Icon: ItalyIcon },
kr: { name: "한국어", Icon: KoreaIcon },
jp: { name: "日本語", Icon: JapanIcon },
};

const LangSwitcher: React.FC = () => {
Expand Down Expand Up @@ -55,7 +57,7 @@ const LangSwitcher: React.FC = () => {
locale={code as Language}
className="flex items-center"
>
<Icon className="mr-2 h-5 w-5 rounded-full" />
<Icon className="mr-2 h-5 w-5 rounded-full " />
<span>{name}</span>
</Link>
</SelectItem>
Expand Down
19 changes: 19 additions & 0 deletions components/icons/JapanIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { ComponentPropsWithoutRef } from "react";

export const JapanIcon = (
props: ComponentPropsWithoutRef<"svg"> & { size?: number }
) => {
const { size = 24, ...rest } = props;
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 600 600"
{...rest}
>
<rect fill="#fff" width="900" height="600" />
<circle fill="#bc002d" cx="300" cy="300" r="160" />
</svg>
);
};
2 changes: 1 addition & 1 deletion i18n/routing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { defineRouting } from "next-intl/routing";
import { createSharedPathnamesNavigation } from "next-intl/navigation";

export const routing = defineRouting({
locales: ["en", "fr", "it", "kr"],
locales: ["en", "fr", "it", "kr", "jp"],
defaultLocale: "en",
localePrefix: "never",
});
Expand Down
97 changes: 97 additions & 0 deletions messages/jp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"Metadata": {
"layout": {
"root": "ボルドーのフロントエンド開発者",
"rootDescription": "コードの虚無に迷い込んだグラフィックデザイナー。",
"about": "私について",
"aboutDescription": "私と私の背景についてもっと知る。",
"work": "仕事",
"workDescription": "ウェブおよびソフトウェア開発における私の仕事。",
"contact": "お問い合わせ",
"contactDescription": "お問い合わせのレイアウト",
"education": "教育",
"educationDescription": "私の学歴と得た知識を明らかにする。",
"experience": "経験",
"experienceDescription": "私の職業経験と貢献したプロジェクトを発見する。",
"skills": "スキル",
"skillsDescription": "私が得意とする技術を見てみましょう(ほぼ全て)!"
}
},
"version": "バージョン",
"toggleTheme": "テーマを切り替える",
"aboutRoute": "私について",
"workRoute": "仕事",
"contactRoute": "お問い合わせ",
"aboutNav": {
"bio": "バイオ",
"experience": "経験",
"education": "教育",
"skills": "スキル"
},
"heroSection": {
"contact": "お問い合わせ",
"viewOnGitHub": "GitHubで見る",
"downloadCV": "履歴書をダウンロード",
"viewAllExperiences": "Linkedinでさらに見る",
"connectWithMe": "私とつながる"
},
"status": {
"activity": "アクティビティ",
"LiveStatus": "ライブステータス",
"StarredRepositories": "スター付きGitHubリポジトリ",
"LastestJobs": "最新のコース、仕事、プロジェクト"
},
"skills": "スキル",
"mySkills": "私のスキル",
"resetFilters": "フィルターをリセット",
"bestSkills": {
"title": "私は...で働くのが好きです。",
"react": "React.js",
"reactDescription": "サーバーサイドレンダリング、静的サイト生成、および効率的なルーティングに重点を置き、ReactとNext.jsを使用して動的でレスポンシブなウェブアプリケーションを構築する経験があります。",
"tailwind": "Tailwind CSS",
"tailwindDescription": "ユーティリティファーストスタイリングを使用してクリーンでスケーラブルなUI開発を保証し、カスタムレスポンシブデザインを迅速に作成するためにTailwind CSSを使いこなしています。",
"python": "Python",
"pythonDescription": "ウェブ開発からデータ操作まで、さまざまなアプリケーションにおけるPythonプログラミングに熟練しており、クリーンなコードと自動化に重点を置いています。"
},
"bio": {
"profilePictureAlt": "ジョーの写真",
"yearsOld": "",
"whoAmI": "私は誰ですか?",
"introduction": "私は多才な人間で、しばしば「マルチポテンシャル」と表現されます。さまざまな職業の地平を探求し、今ではさまざまな分野で成長していると言えます。",
"skills": "私の組織能力と細部への注意は重要な資産です。すべてのサイズのプロジェクトに取り組み、その質と効率を向上させるために貢献します。",
"keyPlayer": "私は働くすべての会社でキープレーヤーになろうと努めており、私のアイデアを押し付けるのではなく、私の仕事の質に頼っています。"
},
"work": {
"title": "私のプロジェクト",
"releasedOn": "リリース日",
"imageAlt": "表示",
"itemAlt": "表示",
"privateRepo": "プライベートリポジトリ",
"githubRepo": "GitHubリポジトリ"
},
"contact": {
"getInTouch": "連絡を取る",
"openToOpportunities": "新しい機会にオープン",
"connect": "つながり、実現させましょう!",
"contactMe": "私に連絡してください",
"invitation": "質問や仕事の機会、プロジェクトがあれば、ぜひご連絡ください。一緒にどうやって働けるか話し合うのを楽しみにしています。",
"firstName": "",
"lastName": "",
"email": "メール",
"company": "会社",
"yourMessage": "あなたのメッセージ",
"messagePlaceholder": "ここにメッセージを入力してください。",
"sendButton": "送信"
},
"statusCard": {
"followers": "フォロワー",
"connections": "接続"
},
"education": {
"title": "教育"
},
"certifications": {
"title": "認定"
},
"moreInfo": "詳細情報"
}
6 changes: 5 additions & 1 deletion middleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,9 @@ import { routing } from "./i18n/routing";
export default createMiddleware(routing);

export const config = {
matcher: ["/", "/(fr|en|it|kr)/:path*", "/((?!api|_next|_vercel|.*\\..*).*)"],
matcher: [
"/",
"/(fr|en|it|kr|jp)/:path*",
"/((?!api|_next|_vercel|.*\\..*).*)",
],
};
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "portfolio",
"version": "0.19.11",
"version": "0.26.5",
"private": true,
"scripts": {
"dev": "next dev ",
Expand Down

0 comments on commit 293a0fa

Please sign in to comment.