From e1927f633cab988ceeb8bcd51dd03aaa5b3f2392 Mon Sep 17 00:00:00 2001 From: Ben Woodward Date: Sat, 24 Jan 2026 20:46:24 -0800 Subject: Updates jan 2026 (#313) * Update dependencies to latest versions and migrate to React 19 - Update all dependencies to latest versions - Migrate to React 19 createRoot API (replaces deprecated ReactDOM.render) - Update qrcode.react import to v4 named export (QRCodeSVG) * Format CSS with prettier * Add Hebrew translation * Add Slovak translation * Add Malagasy translation * Add Bangla translation * Init field * Change the logic concerning number of cards to print * fix/clean * Fix Increment-field-ID-in-the-print-area * Increment-field-ID-in-the-print-area * Review id implementation logic * Fix git commit * Handle Query parameter * Fix package.json * Fix query parameter for language * fix query parameter for language * Fix EncryptionModeChange query parameters // Error when non in query * Fix EncryptionModeChange query parameters // Error when empty in query * clean Setting.js don't need to import i18n * clean file App.js * first iteration for Hash * Add Esperanto translation * Update translations for Occitan 2 lines added * Update translations.js Added Swiss German to the Translations JavaScript-File * Update translations.js Removed custom Translations-Strings of my own Version. * Update README.md * Format translations.js with prettier --------- Co-authored-by: Ido Bronfeld Co-authored-by: Matej Kubinec Co-authored-by: mpilasy <88362233+mpilasy@users.noreply.github.com> Co-authored-by: Tarek Hasan <94107336+Tarek-Hasan@users.noreply.github.com> Co-authored-by: ofostier Co-authored-by: zeecho <30541894+zeecho@users.noreply.github.com> Co-authored-by: Mejans <61360811+Mejans@users.noreply.github.com> Co-authored-by: Jan Zehnder <44242812+NZehnder@users.noreply.github.com> --- src/translations.js | 259 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 245 insertions(+), 14 deletions(-) (limited to 'src/translations.js') diff --git a/src/translations.js b/src/translations.js index 479afc3..2f033c1 100644 --- a/src/translations.js +++ b/src/translations.js @@ -14,7 +14,7 @@ export const Translations = [ 'wifi.login': 'WiFi Login', 'wifi.name': 'Network name', 'wifi.name.hiddenSSID': 'Hidden SSID', - 'cards.additional': 'Additional cards to print', + 'cards.additional': 'Number of cards to print', 'cards.tip.hide': 'Hide tip (legend)', 'wifi.name.placeholder': 'WiFi Network name', 'wifi.password': 'Password', @@ -37,6 +37,44 @@ export const Translations = [ select: 'Select Language', }, }, + { + id: 'he-IL', + name: 'Hebrew - עברית', + rtl: true, + translation: { + title: 'כרטיס WiFi', + 'desc.use': + 'הדפיסו כרטיס פשוט עם פרטי הכניסה שלכם לרשת ה-WiFi. הדביקו אותו למקרר, שמרו אותו בארנק וכו.', + 'desc.privacy': + 'פרטי ה WiFi שלכם לעולם לא נשלחים לשרת. אתר זה אינו עוקב, משתמש באנליטיקות או טביעות אצבע. צפה ב', + 'desc.source': 'קוד המקור', + 'wifi.identity': 'זהות', + 'wifi.identity.placeholder': 'שם משתמש', + 'wifi.login': 'פרטי WiFi', + 'wifi.name': 'שם רשת', + 'wifi.name.hiddenSSID': 'רשת נסתרת (SSID)', + 'cards.additional': 'מספר כרטיסים נוספים להדפסה', + 'cards.tip.hide': 'הסתרת טיפ (מקרא)', + 'wifi.name.placeholder': 'שם רשת WiFi', + 'wifi.password': 'סיסמה', + 'wifi.password.placeholder': 'סיסמה', + 'wifi.password.hide': 'הסתר סיסמה', + 'wifi.password.encryption': 'הצפנה', + 'wifi.password.encryption.none': 'None', + 'wifi.encryption.eapMethod': 'שיטת אימות EAP', + 'wifi.tip': 'כוונו את מצלמת הטלפון אל קוד ה-QR כדי להתחבר אוטומטית', + 'wifi.alert.name': 'שם רשת לא יכול להיות ריק', + 'wifi.alert.password': 'סיסמה לא יכולה להיות ריקה', + 'wifi.alert.password.length.5': + 'הסיסמה חייבת להיות באורך של לפחות 5 תווים, או שנה את ההצפנה ל "None"', + 'wifi.alert.password.length.8': + 'הסיסמה חייבת להיות באורך של לפחות 8 תווים, או שנה את ההצפנה ל "None"', + 'wifi.alert.eapIdentity': 'זהות לא יכולה להיות ריקה', + 'button.rotate': 'סובב', + 'button.print': 'הדפס', + select: 'בחר שפה', + }, + }, { id: 'sv-SE', name: 'Swedish - Svenska', @@ -134,12 +172,14 @@ export const Translations = [ id: 'zh-CN', name: 'Simplified Chinese - 简体中文', translation: { - title: 'WiFi 连接卡', + title: 'Wi-Fi 连接卡', 'desc.use': - '打印一张带有 WiFi 详细信息的登录卡片,把它贴到冰箱上、放到你的钱包里...', + '打印一张带有 Wi-Fi 详细信息的登录卡片,把它贴到冰箱上、放到你的钱包里...', 'desc.privacy': '您的 WiFi 信息永远不会发送到服务端。本网站不使用追踪、分析或指纹识别。查看', 'desc.source': '源码', + 'cards.additional': '额外打印卡片数量', + 'cards.tip.hide': '隐藏提示(图例)', 'wifi.identity': '身份', 'wifi.identity.placeholder': '用户名', 'wifi.login': '连接 WiFi', @@ -167,16 +207,18 @@ export const Translations = [ id: 'zh-HK', name: 'Traditional Chinese - 繁體中文 香港', translation: { - title: 'WiFi 連接卡', + title: 'Wi-Fi 連接咭', 'desc.use': - '打印一張 WiFi 詳細資料嘅連接卡,將佢癡喺雪櫃上面、放喺銀包入面... ', + '打印一張 Wi-Fi 詳細資料嘅連接卡,你可以將佢癡喺雪櫃上面、放喺銀包入面... ', 'desc.privacy': - '你嘅 WiFi 資料永遠唔會傳送去網站伺服器。呢個網站無使用任何追蹤、分析或者裝置指紋辨識。睇吓', - 'desc.source': '源代碼', - 'wifi.login': '連接 WiFi', + '你嘅 Wi-Fi 資料永遠唔會傳送去網站伺服器。呢個網站唔會使用任何追蹤、分析或者裝置指紋辨識。', + 'desc.source': '撳呢度睇源代碼', + 'cards.additional': '要打印幾多張 Wi-Fi 卡片?', + 'cards.tip.hide': '隱藏提示(圖例)', + 'wifi.login': '連接 Wi-Fi', 'wifi.name': '網絡名稱', 'wifi.name.hiddenSSID': '隐藏 SSID', - 'wifi.name.placeholder': 'WiFi 網絡名稱', + 'wifi.name.placeholder': 'Wi-Fi 網絡名稱', 'wifi.password': '密碼', 'wifi.password.placeholder': '密碼', 'wifi.password.hide': '隐藏密码', @@ -201,8 +243,10 @@ export const Translations = [ 'desc.use': '打印一张带有 Wi-Fi 详细信息嘅连接咭,你可以将佢黐喺冰箱上面,或者放喺银包入面...', 'desc.privacy': - '你嘅 Wi-Fi 信息永远不会发送到服务端。本网站不使用追踪、分析或指纹识别。喺度睇', - 'desc.source': '源代码', + '你嘅 Wi-Fi 信息永远不会发送到服务端。本网站不使用追踪、分析或指纹识别。', + 'desc.source': '喺度睇源代码', + 'cards.additional': '要*多打印*多少张 Wi-Fi 卡片?', + 'cards.tip.hide': '隐藏提示(图例)', 'wifi.identity': '身份', 'wifi.identity.placeholder': '用户名', 'wifi.login': '连接 Wi-Fi', @@ -230,12 +274,14 @@ export const Translations = [ id: 'zh-TW', name: 'Traditional Chinese - 繁體中文 台灣', translation: { - title: 'WiFi Card', + title: 'Wi-Fi Card', 'desc.use': - '列印一張含有 WiFi 連接資訊的卡片,將它貼在冰箱、放在你的錢包裡... ', + '列印一張含有 Wi-Fi 連接資訊的卡片,將它貼在冰箱、放在你的錢包裡... ', 'desc.privacy': - '您的 WiFi 訊息永遠不會被送到伺服器。本網站不使用追蹤、分析或指紋識別。查看', + '您的 Wi-Fi 訊息永遠不會被送到伺服器。本網站不使用追蹤、分析或指紋識別。查看', 'desc.source': '原始碼', + 'cards.additional': '额外列印卡片數量', + 'cards.tip.hide': '隱藏提示(圖例)', 'wifi.login': '連接 WiFi', 'wifi.name': '網路名稱', 'wifi.name.hiddenSSID': '隱藏 SSID', @@ -477,6 +523,40 @@ export const Translations = [ select: 'Sprache auswählen', }, }, + { + id: 'de-CH', + name: 'German - Schwizerdütsch', + translation: { + title: 'simple.WiFi Card Creator', + 'desc.use': + 'Sie chönd met dem Tool en eifachi Charte mit ehrene WLAN-Date erstelle. Verwänded Sie die, om eifach ehres interne WLAN unter de Metarbeiter zteile oder om es GASCHT-WLAN mit em Chond zteile.', + 'desc.private': 'Dini Zugegangsdate werded nie zom Server gsändet.', + 'wifi.identity': 'Identität', + 'wifi.identity.placeholder': 'Notzername', + 'wifi.login': 'WLAN-Zugangsdate', + 'wifi.name': 'WLAN-Netzwärchname', + 'wifi.name.placeholder': 'WLAN-Netzwärchname', + 'wifi.password': 'Passwort', + 'wifi.password.placeholder': 'Passwort', + 'wifi.password.hide': 'Passwort verstecke', + 'wifi.name.hiddenSSID': 'Versteckti SSID', + 'wifi.password.encryption': 'Verschlösselig', + 'wifi.password.encryption.none': 'Keini', + 'wifi.encryption.eapMethod': 'EAP Methode', + 'wifi.tip': + 'Zeig mit dinere Kamera vom Handys auf de QR-Code, um automatisch en Verbindung herzstelle', + 'wifi.alert.name': 'De Netzwerkname dörf ned leer sii', + 'wifi.alert.password': 'Das Passwort dörf ned leer sii', + 'wifi.alert.password.length.5': + 'Das Passwort muss mendestends 5 Zeiche lang sii, oder stell d Verschlösselig auf "Keini"', + 'wifi.alert.password.8': + 'Das Passwort muss mindestends 8 Zeichen lang sii, oder stell d Verschlösselig auf "Keini"', + 'wifi.alert.eapIdentity': 'Die Identität darf ned leer sii', + 'button.rotate': 'Dreie', + 'button.print': 'Drocke', + select: 'Sprach uswähle', + }, + }, { id: 'el-GR', name: 'Greek - Hellenic', @@ -578,6 +658,7 @@ export const Translations = [ 'Le mot de passe doit au moins faire 8 caractères, ou changez le chiffrement en "Aucun"', 'button.rotate': 'Pivoter', 'button.print': 'Imprimer', + 'cards.additional': 'Nombre de cartes a imprimer', select: 'Choisir la langue', }, }, @@ -596,6 +677,8 @@ export const Translations = [ 'wifi.login': 'Connexion Wi-Fi', 'wifi.name': 'Nom de la ret', 'wifi.name.hiddenSSID': 'SSID amagat', + 'cards.additional': 'Carta suplementàrias d’imprimir', + 'cards.tip.hide': 'Rescondre astúcia (legenda)', 'wifi.name.placeholder': 'Nom de la ret WiFi', 'wifi.password': 'Senhal', 'wifi.password.placeholder': 'Senhal', @@ -1080,6 +1163,154 @@ export const Translations = [ select: 'Vælg sprog', }, }, + { + id: 'sk-SK', + name: 'Slovak - Slovenčina', + translation: { + title: 'WiFi Karta', + 'desc.use': + 'Vytlačte si jednoduchú kartu s prihlasovacími údajmi do siete Wi-Fi. Prilepte ju na chladničku, majte ju v peňaženke atď.', + 'desc.privacy': + 'Vaše Wi-Fi informácie sa nikdy neodošlú na server. Na tejto webovej stránke sa nepoužíva žiadne sledovanie, analytika ani fingerprinting. Zobraziť', + 'desc.source': 'zdrojový kód', + 'wifi.identity': 'Identita', + 'wifi.identity.placeholder': 'Uživateľské meno', + 'wifi.login': 'WiFi Login', + 'wifi.name': 'Názov siete', + 'wifi.name.hiddenSSID': 'Skryté SSID', + 'cards.additional': 'Počet ďalších kariet na tlač', + 'cards.tip.hide': 'Schovať nápovedu', + 'wifi.name.placeholder': 'Názov siete WiFi', + 'wifi.password': 'Heslo', + 'wifi.password.placeholder': 'Heslo', + 'wifi.password.hide': 'Schovať heslo', + 'wifi.password.encryption': 'Šifrovanie', + 'wifi.password.encryption.none': 'Žiadne', + 'wifi.encryption.eapMethod': 'Metóda EAP', + 'wifi.tip': + 'Namierte fotoaparát telefónu na QR kód a automaticky sa pripojte.', + 'wifi.alert.name': 'Názov siete nesmie byť prázdny', + 'wifi.alert.password': 'Heslo nesmie byť prázdne', + 'wifi.alert.password.length.5': + 'Heslo musí mať aspoň 5 znakov, alebo zmeňte šifrovanie na "Žiadne"', + 'wifi.alert.password.length.8': + 'Heslo musí mať aspoň 8 znakov, alebo zmeňte šifrovanie na "Žiadne"', + 'wifi.alert.eapIdentity': 'Identita nesmie byť prázdna', + 'button.rotate': 'Otočiť', + 'button.print': 'Vytlačiť', + select: 'Vybrať jazyk', + }, + }, + { + id: 'mg-MG', + name: 'Malagasy - Malagasy', + translation: { + title: 'Karatra Wifi', + 'desc.use': + "Antontay ny karatra tsotra maneho ny mombamomba ny wifi-nao. Apetraho eran'ny trano, ataovy any anaty boky, sns", + 'desc.privacy': + "Tsy tehirizinay na aiza na aiza izay zavatra ampidirinao eto. Tsy misy fanarahana na fitsikilovana eto amin'ity pejy ity. Misy fanazavana", + 'desc.source': 'source code', + 'wifi.identity': 'Anarana', + 'wifi.identity.placeholder': 'Anarana', + 'wifi.login': 'Momba ny WiFi', + 'wifi.name': 'SSID', + 'wifi.name.hiddenSSID': 'SSID miafina', + 'cards.additional': "Isan' ny karatra fanampiny atonta", + 'cards.tip.hide': 'Aza asiana fanazavana (legend)', + 'wifi.name.placeholder': "Anaran'ny tambajotra WiFi (SSID)", + 'wifi.password': 'Fanalahidy', + 'wifi.password.placeholder': 'Teny fanalahidy', + 'wifi.password.hide': 'Afeno ny fanalahidy', + 'wifi.password.encryption': 'Encryption', + 'wifi.password.encryption.none': 'Tsy misy', + 'wifi.encryption.eapMethod': 'EAP method', + 'wifi.tip': + "Mba hidiranao malakilaky dia alaivo sary amin'ny fakantsarinao ilay QR Code", + 'wifi.alert.name': 'Tsy maintsy misy anarana ilay tambajotra', + 'wifi.alert.password': 'Tsy maintsy fenoina ny fanalahidy', + 'wifi.alert.password.length.5': + "Tsy maintsy mihoatry ny litera 5 ny fanalahidy, na tsy maintsy ovaina ho 'Tsy Misy' ny Encryption", + 'wifi.alert.password.length.8': + "Tsy maintsy mihoatry ny litera 8 ny fanalahidy, na tsy maintsy ovaina ho 'Tsy Misy' ny Encryption", + 'wifi.alert.eapIdentity': 'Tsy maintsy fenoina ny anarana', + 'button.rotate': 'Ahodino', + 'button.print': 'Antontay', + select: 'Mifidiana fiteny hafa', + }, + }, + { + id: 'bn-BD', + name: 'Bangla - বাংলা', + translation: { + title: 'ওয়াইফাই কার্ড', + 'desc.use': + 'আপনার ওয়াই-ফাই লগইন বিবরণ সহ একটি সাধারণ কার্ড প্রিন্ট করুন। এটি ফ্রিজে টেপ দিয়ে লাগান, আপনার ওয়ালেটে রাখুন, ইত্যাদি।', + 'desc.privacy': + 'আপনার ওয়াই-ফাই তথ্য কখনই সার্ভারে পাঠানো হয় না। এই ওয়েবসাইটে কোন ট্র্যাকিং, অ্যানালিটিক্স বা ফিঙ্গারপ্রিন্টিং ব্যবহার করা হয় না। দেখুন', + 'desc.source': 'সোর্স কোড', + 'wifi.login': 'ওয়াই-ফাই লগইন', + 'wifi.name': 'নেটওয়ার্কের নাম', + 'wifi.name.hiddenSSID': 'লুকানো SSID', + 'cards.additional': 'অতিরিক্ত কার্ড প্রিন্ট করা হবে', + 'cards.tip.hide': 'নির্দেশ (টীকা) লুকান', + 'wifi.name.placeholder': 'ওয়াই-ফাই নেটওয়ার্কের নাম', + 'wifi.password': 'পাসওয়ার্ড', + 'wifi.password.placeholder': 'পাসওয়ার্ড', + 'wifi.password.hide': 'পাসওয়ার্ড লুকান', + 'wifi.password.encryption': 'এনক্রিপশন', + 'wifi.password.encryption.none': 'নেই', + 'wifi.tip': + 'স্বয়ংক্রিয়ভাবে সংযোগ করতে আপনার ফোনের ক্যামেরা QR কোডে নির্দেশ করুন', + 'wifi.alert.name': 'নেটওয়ার্কের নাম খালি হতে পারে না', + 'wifi.alert.password': 'পাসওয়ার্ড খালি হতে পারে না', + 'wifi.alert.password.length.5': + 'পাসওয়ার্ড কমপক্ষে ৫ অক্ষরের হতে হবে, অথবা এনক্রিপশন পরিবর্তন করে "নেই" দিন', + 'wifi.alert.password.length.8': + 'পাসওয়ার্ড কমপক্ষে ৮ অক্ষরের হতে হবে, অথবা এনক্রিপশন পরিবর্তন করে "নেই" দিন', + 'button.rotate': 'ঘুরান', + 'button.print': 'প্রিন্ট', + select: 'ভাষা নির্বাচন করুন', + }, + }, + { + id: 'eo', + name: 'Esperanto', + translation: { + title: 'Vifia karto', + 'desc.use': + 'Presu simplan karton kun viaj vifiaj ensalutaj detaloj. Bendu ĝin al la fridujo, konservu ĝin en via monujo, ktp.', + 'desc.privacy': + 'Viaj vifiaj informoj neniam estas senditaj al la servilo. Neniu spurado, analizo aŭ fingrospurado estas uzataj en ĉi tiu retejo. Vidi la', + 'desc.source': 'fontokodon', + 'wifi.identity': 'Identeco', + 'wifi.identity.placeholder': 'Uzantnomo', + 'wifi.login': 'Vifia ensaluto', + 'wifi.name': 'Retnomo', + 'wifi.name.hiddenSSID': 'Kaŝita SSID', + 'cards.additional': 'Pliaj kartoj por presi', + 'cards.tip.hide': 'Kaŝi konsileton (klarigeto)', + 'wifi.name.placeholder': 'Nomo de vifia reto', + 'wifi.password': 'Pasvorto', + 'wifi.password.placeholder': 'Pasvorto', + 'wifi.password.hide': 'Kaŝi pasvorton', + 'wifi.password.encryption': 'Ĉifrado', + 'wifi.password.encryption.none': 'Nenio', + 'wifi.encryption.eapMethod': 'EAP-metodo', + 'wifi.tip': + 'Metu la fotilon de via telefono antaŭ la QR-kodo por aŭtomate konektiĝi', + 'wifi.alert.name': 'Retnomo ne povas esti malplena', + 'wifi.alert.password': 'Pasvorto ne povas esti malplena', + 'wifi.alert.password.length.5': + 'Pasvorto devas enhavi almenaŭ 5 signoj, aŭ ŝanĝu la ĉifradon al "Neniu"', + 'wifi.alert.password.length.8': + 'Pasvorto devas enhavi almenaŭ 8 signoj, aŭ ŝanĝu la ĉifradon al "Neniu"', + 'wifi.alert.eapIdentity': 'Identeco ne povas esti malplena', + 'button.rotate': 'Rotacii', + 'button.print': 'Presi', + select: 'Elektu lingvon', + }, + }, ].sort((a, b) => { return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; }); -- cgit v1.2.3