Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# Dependencies
/node_modules
/.pnp
.pnp.js

# Testing
/coverage

# Next.js
/.next/
/out/

# Production
/build

# Misc
.DS_Store
*.pem

# Local Environment Variables
.env.local
.env.development.local
.env.test.local
.env.production.local

# TypeScript
*.tsbuildinfo
next-env.d.ts
94 changes: 0 additions & 94 deletions guess_game.py

This file was deleted.

5 changes: 5 additions & 0 deletions i18n.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {getRequestConfig} from 'next-intl/server';

export default getRequestConfig(async ({locale}) => ({
messages: (await import(`../messages/${locale}.json`)).default
}));
29 changes: 29 additions & 0 deletions messages/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"Header": {
"api": "API",
"pricing": "Preise",
"privacy": "Datenschutz",
"login": "Anmelden",
"language": "DE"
},
"HomePage": {
"title": "Der einfachste Weg, Ihre PDFs zu komprimieren",
"subtitle": "Schnell, sicher und privat. Dateien bleiben immer auf Ihrem Gerät.",
"fileUploadTitle": "Ziehen Sie Ihre PDF-Datei hierher",
"fileUploadSubtitle": "oder klicken Sie, um eine Datei auszuwählen",
"selectPdfButton": "PDF auswählen",
"selectAnotherFileButton": "Andere Datei auswählen",
"fileSelected": "Datei ausgewählt. Bereit zum Komprimieren.",
"compressionSettingsTitle": "Komprimierungseinstellungen",
"compressionLevelLight": "Leicht",
"compressionLevelStandard": "Standard",
"compressionLevelStrong": "Stark",
"imageQuality": "Bildqualität",
"resolution": "Auflösung (DPI)",
"useAiSettings": "KI-Einstellungen für natürliche Sprache verwenden",
"aiPlaceholder": "z.B. Komprimieren Sie diese Abschlussarbeit für eine Schulabgabe, sie muss unter 5 MB groß sein.",
"compressButton": "PDF komprimieren",
"compressingButton": "Komprimiere...",
"privacyMessage": "Die gesamte Verarbeitung erfolgt auf Ihrem lokalen Gerät."
}
}
29 changes: 29 additions & 0 deletions messages/en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"Header": {
"api": "API",
"pricing": "Pricing",
"privacy": "Privacy",
"login": "Login",
"language": "EN"
},
"HomePage": {
"title": "The easiest way to compress your PDFs",
"subtitle": "Fast, secure, and private. Files always stay on your device.",
"fileUploadTitle": "Drag and drop your PDF file here",
"fileUploadSubtitle": "or click to select a file",
"selectPdfButton": "Select PDF",
"selectAnotherFileButton": "Select Another File",
"fileSelected": "File selected. Ready to compress.",
"compressionSettingsTitle": "Compression Settings",
"compressionLevelLight": "Light",
"compressionLevelStandard": "Standard",
"compressionLevelStrong": "Strong",
"imageQuality": "Image Quality",
"resolution": "Resolution (DPI)",
"useAiSettings": "Use AI natural language settings",
"aiPlaceholder": "e.g., Compress this thesis for a school submission, they require it to be under 5MB.",
"compressButton": "Compress PDF",
"compressingButton": "Compressing...",
"privacyMessage": "All processing is done on your local device."
}
}
29 changes: 29 additions & 0 deletions messages/fr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"Header": {
"api": "API",
"pricing": "Prix",
"privacy": "Confidentialité",
"login": "Connexion",
"language": "FR"
},
"HomePage": {
"title": "Le moyen le plus simple de compresser vos PDF",
"subtitle": "Rapide, sécurisé et privé. Les fichiers restent toujours sur votre appareil.",
"fileUploadTitle": "Glissez-déposez votre fichier PDF ici",
"fileUploadSubtitle": "ou cliquez pour sélectionner un fichier",
"selectPdfButton": "Sélectionner un PDF",
"selectAnotherFileButton": "Sélectionner un autre fichier",
"fileSelected": "Fichier sélectionné. Prêt à compresser.",
"compressionSettingsTitle": "Paramètres de compression",
"compressionLevelLight": "Léger",
"compressionLevelStandard": "Standard",
"compressionLevelStrong": "Fort",
"imageQuality": "Qualité d'image",
"resolution": "Résolution (DPI)",
"useAiSettings": "Utiliser les paramètres de langage naturel IA",
"aiPlaceholder": "Ex: Compressez cette thèse pour une soumission scolaire, elle doit faire moins de 5 Mo.",
"compressButton": "Compresser le PDF",
"compressingButton": "Compression en cours...",
"privacyMessage": "Tout le traitement est effectué sur votre appareil local."
}
}
29 changes: 29 additions & 0 deletions messages/ja.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"Header": {
"api": "API",
"pricing": "価格",
"privacy": "プライバシー",
"login": "ログイン",
"language": "日"
},
"HomePage": {
"title": "PDFを圧縮する最も簡単な方法",
"subtitle": "高速、安全、プライベート。ファイルは常にデバイスに残ります。",
"fileUploadTitle": "ここにPDFファイルをドラッグアンドドロップしてください",
"fileUploadSubtitle": "またはクリックしてファイルを選択",
"selectPdfButton": "PDFを選択",
"selectAnotherFileButton": "別のファイルを選択",
"fileSelected": "ファイルが選択されました。圧縮の準備ができました。",
"compressionSettingsTitle": "圧縮設定",
"compressionLevelLight": "ライト",
"compressionLevelStandard": "標準",
"compressionLevelStrong": "強力",
"imageQuality": "画質",
"resolution": "解像度 (DPI)",
"useAiSettings": "AI自然言語設定を使用",
"aiPlaceholder": "例:この論文を学校に提出するために圧縮してください。5MB未満である必要があります。",
"compressButton": "PDFを圧縮",
"compressingButton": "圧縮中...",
"privacyMessage": "すべての処理はローカルデバイスで行われます。"
}
}
29 changes: 29 additions & 0 deletions messages/zh.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"Header": {
"api": "API",
"pricing": "价格",
"privacy": "隐私",
"login": "登录",
"language": "中"
},
"HomePage": {
"title": "最简单的PDF压缩方式",
"subtitle": "快速、安全、私密。文件始终保留在您的浏览器中。",
"fileUploadTitle": "将您的PDF文件拖放到此处",
"fileUploadSubtitle": "或点击选择文件",
"selectPdfButton": "选择PDF",
"selectAnotherFileButton": "选择其他文件",
"fileSelected": "文件已选择,准备压缩。",
"compressionSettingsTitle": "压缩设置",
"compressionLevelLight": "轻度",
"compressionLevelStandard": "标准",
"compressionLevelStrong": "强力",
"imageQuality": "图像质量",
"resolution": "分辨率 (DPI)",
"useAiSettings": "使用AI自然语言设置",
"aiPlaceholder": "例如: 帮我把这个论文压缩一下,准备提交给学校系统,他们要求小于 5MB。",
"compressButton": "压缩PDF",
"compressingButton": "压缩中...",
"privacyMessage": "所有处理都在您的本地设备上完成。"
}
}
4 changes: 4 additions & 0 deletions next.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/** @type {import('next').NextConfig} */
const nextConfig = {};

export default nextConfig;
Loading