Improvements

This commit is contained in:
jason5ng32 committed 2026-08-21 21:27:50 +08:00
1 parent 41b635483d
commit 6c70d47941
5 files changed
+95 -59

No files matched your search

+20 -20
View File
@@ -80,23 +80,19 @@
<!-- Content area (independent scrolling) -->
<div class="flex-1 overflow-y-auto px-5 py-5" ref="sheetBody">
<!-- About -->
<!-- About: sections come from aboutSections, each one's paragraphs an array
in the locale file — adding or reordering copy is a locale-only edit. -->
<TabsContent value="about" class="space-y-6 mt-0">
<section class="space-y-2">
<p v-for="i in 3" :key="i" class="text-sm leading-relaxed text-foreground/85">
{{ t(`about.product${i}`) }}
</p>
</section>
<section>
<h3 class="text-base font-semibold mb-2">{{ t('about.meTitle') }}</h3>
<div class="space-y-2 mb-3">
<p v-for="i in 3" :key="i" class="text-sm leading-relaxed text-foreground/85">
{{ t(`about.me${i}`) }}
<section v-for="section in aboutSections" :key="section.key">
<h3 v-if="section.titleKey" class="text-base font-semibold mb-2">{{ t(section.titleKey) }}</h3>
<div class="space-y-2" :class="section.links && 'mb-3'">
<p v-for="(paragraph, idx) in tm(`about.${section.key}`)" :key="idx"
class="text-sm leading-relaxed text-foreground/85">
{{ rt(paragraph) }}
</p>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 gap-2">
<Button v-for="link in personalLinks" :key="link.href" variant="outline" size="sm" as-child
<div v-if="section.links" class="grid grid-cols-1 sm:grid-cols-2 gap-2">
<Button v-for="link in section.links" :key="link.href" variant="outline" size="sm" as-child
class="justify-start">
<a :href="link.href" target="_blank" rel="noopener">
<Compass />
@@ -106,11 +102,6 @@
</Button>
</div>
</section>
<section>
<h3 class="text-base font-semibold mb-2">{{ t('about.contactTitle') }}</h3>
<div class="text-sm leading-relaxed text-foreground/85" v-html="t('about.contact')"></div>
</section>
</TabsContent>
<!-- Changelog -->
@@ -183,7 +174,7 @@ import { Separator } from '@/components/ui/separator';
import { Compass, ExternalLink, CircleFadingArrowUp, CirclePlus, BugOff, Smile } from '@lucide/vue';
import { Icon } from '@iconify/vue';
const { t, locale } = useI18n();
const { t, tm, rt, locale } = useI18n();
const store = useMainStore();
const isMobile = computed(() => store.isMobile);
@@ -202,6 +193,15 @@ const personalLinks = [
{ href: 'https://twitter.com/jason5ng32', labelKey: 'about.twitter' },
];
// About tab layout: one entry per section, rendered in order. `key` names the
// paragraph array under `about.` in the locale files; `titleKey` is omitted for
// the lead-in section, and `links` appends a link grid under the paragraphs.
const aboutSections = [
{ key: 'project' },
{ key: 'founder', titleKey: 'about.founderTitle', links: personalLinks },
{ key: 'contact', titleKey: 'about.contactTitle' },
];
const acknowledgementsList = [
{ name: 'Setilis Hu', link: '' },
{ name: 'Seven Yu', link: 'https://github.com/dofy' },
+19 -10
View File
@@ -1433,17 +1433,26 @@
},
"about": {
"Title": "About",
"product1": "IPCheck.ing is a free IP toolbox that helps you check your IP information, test website availability, examine DNS exit information, perform speed tests, global latency tests, MTR tests, and more.",
"product2": "This is an open-source project, and you can view the source code by clicking on the GitHub icon at the bottom of the page.",
"product3": "Initially, this was a personal project for me to learn Vue.js and how to write code using AI. Over time, it gained more stars on GitHub, so I did a lot of refactoring and added many useful features. I hope you will enjoy it.",
"meTitle": "About Me",
"me1": "My name is Jason Ng, also known as Achán online. I'm not a professional programmer, but I love coding, open-source, and sharing.",
"me2": "Most of the time, I work as a product manager, a blogger, a motorcyle rider and a geek.",
"me3": "You can find a more detailed introduction about me in the following link:",
"contactTitle": "Contact Me",
"contact": "If you have any questions or suggestions, please contact me via email: jason[AT]kenengba.com.",
"project": [
"IPCheck.ing is a free all-in-one IP toolbox that helps you check your own IP information, test website availability, examine DNS exit information, and run speed tests, global latency tests, MTR tests and more.",
"This is an open-source project — click the GitHub icon at the bottom of the page to browse the source code.",
"If you are unsure how a feature works, open the \"Help Center\" link at the bottom of the page. The documentation is thorough: beyond describing each feature, it also explains networking concepts and how to troubleshoot network problems.",
"If you would like to take part in the open-source project, click the \"Contribute Code\" button at the bottom of the page to see how."
],
"founderTitle": "About the Founder",
"founder": [
"This started out as a side project for Jason Ng (阿禅) to learn Vue.js and how to write code with AI. As it collected more and more stars on GitHub, he refactored it heavily and added many genuinely useful features. We hope you enjoy it.",
"He is not a professional programmer. Most of the time he works as a product manager, a blogger, a motorcycle rider and a geek — but he loves coding, open source and sharing.",
"You can find a more detailed introduction about him at the links below:"
],
"contactTitle": "Contact Us",
"contact": [
"If you run into trouble using IPCheck.ing or deploying the MyIP project, head to the \"Help Center\" first. If you cannot find the answer there and are stuck, open an issue on GitHub or reach us by email.",
"And if you hit a bug and enjoy coding (or coding with AI), you are very welcome to send us a PR with your fix.",
"Our email: i[AT]ipcheck.ing."
],
"personal": "Personal Website",
"blog": "My Blog",
"blog": "Blog Posts",
"linkedIn": "LinkedIn",
"twitter": "Twitter",
"Sponsor": "Sponsor Us",
+19 -10
View File
@@ -1433,17 +1433,26 @@
},
"about": {
"Title": "À propos",
"product1": "IPCheck.ing est une boîte à outils IP gratuite qui vous aide à vérifier vos informations IP, tester la disponibilité des sites web, examiner les informations de sortie DNS, effectuer des tests de vitesse, des tests de latence mondiale, des tests MTR, et plus encore.",
"product2": "Il s'agit d'un projet open-source, et vous pouvez consulter le code source en cliquant sur l'icône GitHub en bas de la page.",
"product3": "Au départ, il s'agissait d'un projet personnel pour moi afin d'apprendre Vue.js et comment écrire du code en utilisant AI. Au fil du temps, il a gagné en popularité sur GitHub, j'ai donc effectué beaucoup de refactoring et ajouté de nombreuses fonctionnalités utiles. J'espère que vous l'apprécierez.",
"meTitle": "À propos de moi",
"me1": "Je m'appelle Jason Ng, également connu sous le nom d'Achán en ligne. Je ne suis pas un programmeur professionnel, mais j'adore coder, l'open-source et le partage.",
"me2": "La plupart du temps, je travaille en tant que chef de produit, blogueur, motard et geek.",
"me3": "Vous pouvez trouver une présentation plus détaillée à mon sujet dans le lien suivant :",
"contactTitle": "Contactez-moi",
"contact": "Si vous avez des questions ou des suggestions, veuillez me contacter par email : jason[AT]kenengba.com.",
"project": [
"IPCheck.ing est une boîte à outils IP tout-en-un et gratuite : elle vous aide à consulter vos informations IP, à tester la disponibilité des sites web, à examiner les informations de sortie DNS, à mesurer votre débit, à tester la latence mondiale, à lancer des tests MTR, et bien plus encore.",
"Il s'agit d'un projet open source : cliquez sur l'icône GitHub en bas de la page pour consulter le code source.",
"Si vous ne comprenez pas comment utiliser une fonctionnalité, ouvrez le « Centre d'aide » en bas de la page. Notre documentation est très détaillée : en plus de présenter chaque fonctionnalité, elle vous aide à comprendre les différents concepts réseau et à diagnostiquer vos problèmes de connexion.",
"Si vous souhaitez participer au projet open source, cliquez sur le bouton « Contribuer au code » en bas de la page pour découvrir comment faire."
],
"founderTitle": "À propos du fondateur",
"founder": [
"Au départ, ce n'était qu'un projet personnel de Jason Ng (阿禅), qui voulait apprendre Vue.js et apprendre à écrire du code avec l'IA. Le projet gagnant de plus en plus d'étoiles sur GitHub, il l'a largement refactorisé et lui a ajouté de nombreuses fonctionnalités très utiles. Nous espérons qu'il vous plaira.",
"Il n'est pas programmeur professionnel : la plupart du temps, il est chef de produit, blogueur, motard et geek. Mais il adore coder, l'open source et le partage.",
"Vous trouverez une présentation plus détaillée de son parcours dans les liens ci-dessous :"
],
"contactTitle": "Nous contacter",
"contact": [
"Si vous rencontrez un problème en utilisant IPCheck.ing ou en déployant le projet MyIP, commencez par chercher la réponse dans le « Centre d'aide ». Si vous ne la trouvez pas et que vous restez bloqué, ouvrez une issue sur GitHub ou écrivez-nous par email.",
"Et si vous tombez sur un bug et que vous aimez coder (ou coder avec l'IA), n'hésitez surtout pas à nous envoyer directement une PR avec votre correctif.",
"Notre email : i[AT]ipcheck.ing."
],
"personal": "Site personnel",
"blog": "Mon blog",
"blog": "Blog Posts",
"linkedIn": "LinkedIn",
"twitter": "Twitter",
"Sponsor": "Nous soutenir",
+19 -10
View File
@@ -1433,17 +1433,26 @@
},
"about": {
"Title": "О проекте",
"product1": "IPCheck.ing — бесплатный набор IP-инструментов для просмотра сведений об IP, проверки доступности сайтов и выхода DNS, тестирования скорости, глобальной задержки и MTR и многого другого.",
"product2": "Это проект с открытым исходным кодом. Нажмите значок GitHub внизу страницы, чтобы посмотреть исходный код.",
"product3": "Изначально это был мой личный проект для изучения Vue.js и программирования с помощью AI. Со временем проект получил больше звёзд на GitHub, поэтому я значительно переработал его и добавил много полезных функций. Надеюсь, он вам понравится.",
"meTitle": "Обо мне",
"me1": "Меня зовут Jason Ng, в интернете я также известен как Achán. Я не профессиональный программист, но люблю программирование, открытый код и обмен знаниями.",
"me2": "В основном я работаю менеджером продукта, веду блог, езжу на мотоцикле и увлекаюсь технологиями.",
"me3": "Подробнее обо мне можно узнать по следующей ссылке:",
"contactTitle": "Связаться со мной",
"contact": "Если у вас есть вопросы или предложения, напишите мне: jason[AT]kenengba.com.",
"project": [
"IPCheck.ing — бесплатный универсальный набор IP-инструментов: он помогает посмотреть сведения о своём IP, проверить доступность сайтов и выход DNS, измерить скорость соединения, задержку до серверов по всему миру, выполнить MTR-тест и многое другое.",
"Это проект с открытым исходным кодом — нажмите значок GitHub внизу страницы, чтобы посмотреть исходный код.",
"Если вам непонятно, как пользоваться той или иной функцией, откройте «Справочный центр» внизу страницы. Документация очень подробная: помимо описания функций, она помогает разобраться в сетевых понятиях и в том, как диагностировать проблемы с сетью.",
"Если вы хотите поучаствовать в проекте с открытым исходным кодом, нажмите внизу страницы кнопку «Стать разработчиком» и посмотрите, как это сделать."
],
"founderTitle": "Об основателе проекта",
"founder": [
"Сначала это был просто учебный проект Jason Ng (阿禅): он изучал Vue.js и то, как писать код с помощью ИИ. Когда проект стал набирать всё больше звёзд на GitHub, он основательно переработал его и добавил много по-настоящему полезных функций. Надеемся, вам понравится.",
"Он не профессиональный программист: большую часть времени он менеджер продукта, автор блога, мотоциклист и гик. Но он любит программирование, открытый код и обмен знаниями.",
"Подробнее о нём можно узнать по ссылкам ниже:"
],
"contactTitle": "Связаться с нами",
"contact": [
"Если при использовании IPCheck.ing или развёртывании проекта MyIP возникла проблема, сначала поищите ответ в «Справочном центре». Если ответа там нет и решить проблему не удаётся, создайте issue на GitHub или напишите нам на почту.",
"А если вы нашли баг и любите программировать (в том числе с помощью ИИ), будем очень рады, если вы пришлёте нам PR со своим исправлением.",
"Наша почта: i[AT]ipcheck.ing."
],
"personal": "Личный сайт",
"blog": "Мой блог",
"blog": "Блог-посты",
"linkedIn": "LinkedIn",
"twitter": "Twitter",
"Sponsor": "Поддержать",
+18 -9
View File
@@ -1433,15 +1433,24 @@
},
"about": {
"Title": "关于",
"product1": "IPCheck.ing 是一个免费的 IP 工具箱,可以帮助你查看自己的 IP 信息,检测网站的可用性,查看 DNS 出口信息,进行网速测试,全球延迟测试,MTR 测试等。",
"product2": "这是一个开源项目,你可以点击页面底部的 GitHub 图标查看源代码。",
"product3": "最早的时候,这是我的一个用来学习 Vue.js 和学习如何使用 AI 写代码的练手项目,后来在 GitHub 上获得的星星数量越来越多,于是我进行了大量的重构和添加了许多非常有用的功能,希望你会喜欢。",
"meTitle": "关于我",
"me1": "我的名字叫阿禅,通常在网上使用 Jason Ng 作为英文名,我并不是一个专业的程序员,但是我喜欢编程,我喜欢开源,我喜欢分享。",
"me2": "在大多数时候,我是一名产品经理、一名博客作者、一个摩托车骑士以及一名极客。",
"me3": "你可以在下面的链接里找到我更详细的介绍:",
"contactTitle": "联系我",
"contact": "如果你有任何问题或建议,请通过邮箱联系我: jason[AT]kenengba.com",
"project": [
"IPCheck.ing 是一个免费的多合一 IP 工具箱,可以帮助你查看自己的 IP 信息,检测网站的可用性,查看 DNS 出口信息,进行网速测试,全球延迟测试,MTR 测试等。",
"这是一个开源项目,你可以点击页面底部的 GitHub 图标查看源代码。",
"如果你对于产品中功能使用不理解,可以通过底部的「帮助中心」获取帮助,我们已经写了非常详细的帮助文档,除了功能介绍,也能帮助你理解各种网络概念和如何排查网络问题。",
"如果你有兴趣参与到开源项目中,可以点击页面底部的「贡献代码」按钮,查看如何贡献代码。"
],
"founderTitle": "关于项目发起人",
"founder": [
"最早的时候,这是阿禅(Jason Ng)的一个用来学习 Vue.js 和学习如何使用 AI 写代码的练手项目,后来在 GitHub 上获得的星星数量越来越多,于是他进行了大量的重构和添加了许多非常有用的功能,希望你会喜欢。",
"他并不是一个专业的程序员,在大多数时候,他是一名产品经理、一名博客作者、一个摩托车骑士以及一名极客。但他喜欢编程、喜欢开源,喜欢分享。",
"你可以在下面的链接里找到他更详细的介绍:"
],
"contactTitle": "联系我们",
"contact": [
"如果你在使用 IPCheck.ing 或者部署 MyIP 项目的时候,遇到问题,可以先前往「帮助中心」寻找答案。如果找不到答案,而你无法解决,可以在 Github 上给我们提 issue 或通过邮件和我们联系。",
"当然了,如果你遇到了一个 bug,而你又喜欢编程(或者使用 AI 编程),非常欢迎你将你的优化方案直接提交 PR 给我们。",
"我们的邮箱: i[AT]ipcheck.ing。"
],
"personal": "个人网站",
"blog": "可能吧博客",
"linkedIn": "LinkedIn",