commit 29445428ee7c1e033d00d9332983b895dccc052d Author: Georg Koppen gk@torproject.org Date: Fri Jan 7 10:37:24 2022 +0000
Translations update --- chrome/locale/he/torbutton.dtd | 4 +- chrome/locale/id/aboutTor.dtd | 4 +- chrome/locale/zh-TW/aboutTor.dtd | 2 +- chrome/locale/zh-TW/brand.properties | 4 +- chrome/locale/zh-TW/branding/brand.ftl | 4 +- chrome/locale/zh-TW/torbutton.dtd | 10 +-- chrome/locale/zh-TW/torbutton.properties | 110 +++++++++++++++---------------- 7 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/chrome/locale/he/torbutton.dtd b/chrome/locale/he/torbutton.dtd index c1afaa5e..250f5cac 100644 --- a/chrome/locale/he/torbutton.dtd +++ b/chrome/locale/he/torbutton.dtd @@ -1,8 +1,8 @@ <!ENTITY torbutton.context_menu.new_identity "זהות חדשה"> -<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity"> +<!ENTITY torbutton.context_menu.new_identity_sentence_case "זהות חדשה"> <!ENTITY torbutton.context_menu.new_identity_key "I"> <!ENTITY torbutton.context_menu.new_circuit "נתיב Tor חדש לאתר זה"> -<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site"> +<!ENTITY torbutton.context_menu.new_circuit_sentence_case "מעגל Tor חדש עבור אתר זה"> <!ENTITY torbutton.context_menu.new_circuit_key "C"> <!ENTITY torbutton.context_menu.networksettings "הגדרות רשת Tor…"> <!ENTITY torbutton.context_menu.networksettings.key "N"> diff --git a/chrome/locale/id/aboutTor.dtd b/chrome/locale/id/aboutTor.dtd index 4918ea97..a6663ba9 100644 --- a/chrome/locale/id/aboutTor.dtd +++ b/chrome/locale/id/aboutTor.dtd @@ -48,7 +48,7 @@ Thank you! --> <!ENTITY aboutTor.yec.slogan "Jauhi\nData\nSaya"> -<!ENTITY aboutTor.yec.motto "Privasi adalah hak asasi manusia"> +<!ENTITY aboutTor.yec.motto "Privasi adalah sebuah hak asasi manusia"> <!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but also format it like the name of an organization in whichever way that is appropriate for your locale.
@@ -56,4 +56,4 @@
Thank you! --> -<!ENTITY aboutTor.yec.donationMatch "Donasi anda akan disesuaikan oleh "Friends of Tor", hingga $150,000."> +<!ENTITY aboutTor.yec.donationMatch "Donasi Anda akan disesuaikan oleh "Friends of Tor", hingga $150.000."> diff --git a/chrome/locale/zh-TW/aboutTor.dtd b/chrome/locale/zh-TW/aboutTor.dtd index 8ec68152..5dc4ac80 100644 --- a/chrome/locale/zh-TW/aboutTor.dtd +++ b/chrome/locale/zh-TW/aboutTor.dtd @@ -47,7 +47,7 @@
Thank you! --> -<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA"> +<!ENTITY aboutTor.yec.slogan "別\n碰\n我的\n資料"> <!ENTITY aboutTor.yec.motto "隱私即人權"> <!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but also format it like the name of an organization in whichever way that is appropriate for your locale. diff --git a/chrome/locale/zh-TW/brand.properties b/chrome/locale/zh-TW/brand.properties index ba17accb..91fb6df8 100644 --- a/chrome/locale/zh-TW/brand.properties +++ b/chrome/locale/zh-TW/brand.properties @@ -8,8 +8,8 @@ brandFullName=洋蔥路由瀏覽器 # LOCALIZATION NOTE(brandProductName): # This brand name can be used in messages where the product name needs to # remain unchanged across different versions (Nightly, Beta, etc.). -brandProductName=Tor 瀏覽器 -vendorShortName=Tor 計畫 +brandProductName= 洋蔥路由瀏覽器 +vendorShortName=洋蔥路由專案計畫
homePageSingleStartMain=Firefox Start:包含內建搜尋的快速首頁 homePageImport=從 %S 匯入您的首頁 diff --git a/chrome/locale/zh-TW/branding/brand.ftl b/chrome/locale/zh-TW/branding/brand.ftl index eca78d7c..3975bebd 100644 --- a/chrome/locale/zh-TW/branding/brand.ftl +++ b/chrome/locale/zh-TW/branding/brand.ftl @@ -7,6 +7,6 @@ -brand-full-name = 洋蔥路由瀏覽器 # This brand name can be used in messages where the product name needs to # remain unchanged across different versions (Nightly, Beta, etc.). --brand-product-name = Tor 瀏覽器 --vendor-short-name = Tor 計畫 +-brand-product-name = 洋蔥路由瀏覽器 +-vendor-short-name = 洋蔥路由專案計畫 trademarkInfo = 「Tor」和「Onion Logo」皆是 Tor Project, Inc 的註冊商標。 diff --git a/chrome/locale/zh-TW/torbutton.dtd b/chrome/locale/zh-TW/torbutton.dtd index 285c64a9..5de16056 100644 --- a/chrome/locale/zh-TW/torbutton.dtd +++ b/chrome/locale/zh-TW/torbutton.dtd @@ -1,8 +1,8 @@ <!ENTITY torbutton.context_menu.new_identity "新識別身分"> -<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity"> +<!ENTITY torbutton.context_menu.new_identity_sentence_case "新識別身份"> <!ENTITY torbutton.context_menu.new_identity_key "I"> <!ENTITY torbutton.context_menu.new_circuit "建立新的洋蔥路由迴路來連接上此網站"> -<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site"> +<!ENTITY torbutton.context_menu.new_circuit_sentence_case "用新的迴路連接此站台"> <!ENTITY torbutton.context_menu.new_circuit_key "C"> <!ENTITY torbutton.context_menu.networksettings "洋蔥路由網路設定..."> <!ENTITY torbutton.context_menu.networksettings.key "N"> @@ -47,10 +47,10 @@ <!ENTITY torbutton.prefs.sec_custom_summary "您的瀏覽器個人化設定可能會造成安全性的疑慮。基於個人網路安全與隱私的考量,建議您選用預設的安全性層級選項。"> <!ENTITY torbutton.prefs.sec_restore_defaults "恢復到預設值"> <!ENTITY torbutton.prefs.sec_advanced_security_settings "進階安全性設定…"> -<!ENTITY torbutton.prefs.sec_change "Change…"> -<!ENTITY torbutton.circuit_display.title "Tor 迴路"> +<!ENTITY torbutton.prefs.sec_change "變更..."> +<!ENTITY torbutton.circuit_display.title "洋蔥路由迴路"> <!ENTITY torbutton.circuit_display.new_circuit "建立新的迴路來連接上此網站">
<!-- Onion services strings. Strings are kept here for ease of translation. --> -<!ENTITY torbutton.onionServices.authPrompt.tooltip "開啟 Onion 服務用戶端驗證提示"> +<!ENTITY torbutton.onionServices.authPrompt.tooltip "開啟洋蔥服務用戶端驗證提示"> <!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "記住此金鑰"> diff --git a/chrome/locale/zh-TW/torbutton.properties b/chrome/locale/zh-TW/torbutton.properties index 19afc103..fecce63a 100644 --- a/chrome/locale/zh-TW/torbutton.properties +++ b/chrome/locale/zh-TW/torbutton.properties @@ -2,12 +2,12 @@ torbutton.circuit_display.internet = 網際網路 torbutton.circuit_display.ip_unknown = 未知的 IP torbutton.circuit_display.onion_site = 洋蔥網站 torbutton.circuit_display.this_browser = 此瀏覽器 -torbutton.circuit_display.relay = 中繼 -torbutton.circuit_display.tor_bridge = 橋接器 +torbutton.circuit_display.relay = 中繼站 +torbutton.circuit_display.tor_bridge = 橋接中繼站 torbutton.circuit_display.unknown_country = 未知的國家 -torbutton.circuit_display.guard = Guard -torbutton.circuit_display.guard_note = 你的[Guard]節點可能不會更改。 -torbutton.circuit_display.learn_more = 繼續閱讀 +torbutton.circuit_display.guard = 護衛節點 +torbutton.circuit_display.guard_note = 你的[護衛]節點可能不會更換。 +torbutton.circuit_display.learn_more = 了解更多 torbutton.circuit_display.click_to_copy = 按一下以複製 torbutton.circuit_display.copied = 已複製! torbutton.content_sizer.margin_tooltip = 洋蔥路由瀏覽器特意將視窗邊框的寬度及高度重新設置,以便讓您的瀏覽器狀態資訊看起來更為普通,如此可以減少您的網路活動被識別並追蹤的可能性。 @@ -19,7 +19,7 @@ torbutton.popup.external.suggest = 為了安全起見,您應該只在離線狀 torbutton.popup.launch = 下載檔案 torbutton.popup.cancel = 取消 torbutton.popup.dontask = 從現在開始自動下載檔案 -torbutton.popup.no_newnym = Torbutton 無法安全地給你一個新的身份。它無法存取洋蔥路由的控制連接埠。\n\n您目前正在執行的是洋蔥路由瀏覽器嗎? +torbutton.popup.no_newnym = Torbutton 無法安全地給你一個新的識別身份,它無法存取洋蔥路由的控制連接埠。\n\n您目前正在執行的是洋蔥路由瀏覽器嗎? torbutton.security_settings.menu.title = 安全性設定 torbutton.title.prompt_torbrowser = 重要的 Torbutton 資訊 torbutton.popup.prompt_torbrowser = Torbutton 現在以不同的方式運作:您再也不能將其關閉。\n\n我們做了這樣的變更,因為若在同一個瀏覽器中,使用洋蔥路由造訪網站,又同時不經過洋蔥路由造訪其他網站,將會有安全上的疑慮。目前仍有太多我們無法修復的程式錯誤存在。\n\n如果您希望繼續正常使用火狐狸瀏覽器,您應解除安裝 Torbutton 並下載洋蔥路由瀏覽器套件。洋蔥路由瀏覽器的隱私性也優於普通的火狐狸瀏覽器,即使當火狐狸瀏覽器與 Torbutton 一起使用時也是。\n\n要移除 Torbutton,請前往 工具 -> 附加元件 -> 擴充套件 然後按一下 Torbutton 旁邊的 〔移除〕按鈕。 @@ -27,7 +27,7 @@ torbutton.popup.short_torbrowser = 重要的 Torbutton 資訊!\n\nTorbutton
torbutton.popup.confirm_plugins = 諸如 Flash 的瀏覽器外掛程式可能會危害您的隱私和匿名性。\n\n它們還可以繞過洋蔥路由,透露出您目前所在的位置和 IP 位址。\n\n您確定要啟用外掛程式嗎?\n torbutton.popup.never_ask_again = 不要再問我 -torbutton.popup.confirm_newnym = 洋蔥路由瀏覽器將關閉所有視窗和分頁。所有已登入狀態中的網站資訊都將被清除。\n\n現在重新啟動洋蔥路由瀏覽器來重新設置您的身份?\n\n +torbutton.popup.confirm_newnym = 洋蔥路由瀏覽器將關閉所有視窗和分頁。所有已登入狀態中的網站資訊都將被清除。\n\n您確定現在要重新啟動洋蔥路由瀏覽器來重新設置您的識別身份?\n\n
torbutton.maximize_warning = 若將洋蔥路由瀏覽器視窗最大化,可能會讓所造訪的網站能夠得知您的螢幕尺寸,此舉可能被利用來識別並追蹤您的網路活動。因此我們建議您讓洋蔥路由瀏覽器視窗保持原始的大小。
@@ -62,81 +62,81 @@ pageInfo_OnionName=洋蔥名稱: onionServices.learnMore=了解更多 onionServices.errorPage.browser=瀏覧器 onionServices.errorPage.network=網路 -onionServices.errorPage.onionSite=Onion 網站 +onionServices.errorPage.onionSite=洋蔥站台 # LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with # an error code, e.g., 0xF3. # Tor SOCKS error 0xF0: -onionServices.descNotFound.pageTitle=載入 Onion 網站發生問題 -onionServices.descNotFound.header=找不到 Onion 網站 -onionServices.descNotFound=最可能的原因是 Onion 網站已離線。請聯絡 Onion 網站管理員。 -onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client. +onionServices.descNotFound.pageTitle=載入洋蔥站台時發生問題 +onionServices.descNotFound.header=找不到洋蔥站台 +onionServices.descNotFound=最可能的原因是洋蔥站台已離線,請聯絡該網站的管理員。 +onionServices.descNotFound.longDescription=技術細節: %S — 該洋蔥服務之識別證不存在於雜湊環中,故無法與該服務建立連線。 # Tor SOCKS error 0xF1: -onionServices.descInvalid.pageTitle=載入 Onion 網站發生問題 -onionServices.descInvalid.header=Onion 網站不可達 -onionServices.descInvalid=Onion 網站由於內部錯誤無法瀏覽。 -onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed. +onionServices.descInvalid.pageTitle=載入洋蔥站台發生問題 +onionServices.descInvalid.header=無法連上洋蔥站台 +onionServices.descInvalid=洋蔥站台由於內部錯誤無法連接。 +onionServices.descInvalid.longDescription=技術細節: %S — 該洋蔥服務知識別證無法被解析,或是其數位簽章驗證失敗。 # Tor SOCKS error 0xF2: -onionServices.introFailed.pageTitle=載入 Onion 網站發生問題 -onionServices.introFailed.header=Onion 網站已斷線 +onionServices.introFailed.pageTitle=載入洋蔥站台時發生問題 +onionServices.introFailed.header=洋蔥站台已斷線 onionServices.introFailed=最可能的原因是 Onion 網站已離線。請聯絡 Onion 網站管理員。 -onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running. +onionServices.introFailed.longDescription=技術細節: %S — 該洋蔥服務之識別證已找到,但該服務與引見節點之連線已中斷,造成引見連線建立失敗。這通常是肇因於該服務更換識別證,或是已經不再提供服務。 # Tor SOCKS error 0xF3: -onionServices.rendezvousFailed.pageTitle=載入 Onion 網站發生問題 -onionServices.rendezvousFailed.header=無法連線到 Onion 網站 -onionServices.rendezvousFailed=Onion 網站忙碌或過載。請稍後再試。 -onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection. +onionServices.rendezvousFailed.pageTitle=載入洋蔥站台發生問題 +onionServices.rendezvousFailed.header=無法連線到洋蔥站台 +onionServices.rendezvousFailed=洋蔥站台過於忙碌或洋蔥路由網路之頻寬負載已滿,請稍後再試。 +onionServices.rendezvousFailed.longDescription=技術細節: %S — 與該服務之會見連線建立失敗,通往該服務之連線未果。 # Tor SOCKS error 0xF4: onionServices.clientAuthMissing.pageTitle=需要授權 -onionServices.clientAuthMissing.header=Onion 網站需要授權 -onionServices.clientAuthMissing=存取 Onion 網站需要金鑰,但是沒有提供。 -onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing. +onionServices.clientAuthMissing.header=該洋蔥站台要求認證 +onionServices.clientAuthMissing=需要提供金鑰才能存取此洋蔥站台。 +onionServices.clientAuthMissing.longDescription=技術細節: %S — 已下載該洋蔥服務之識別證,但由於缺少認證資訊,故無法解密識別證之內容。 # Tor SOCKS error 0xF5: onionServices.clientAuthIncorrect.pageTitle=授權失敗 -onionServices.clientAuthIncorrect.header=Onion 網站授權失敗 -onionServices.clientAuthIncorrect=提供的金鑰不正確或已被撤銷。請聯絡 Onion 網站管理員。 -onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked. +onionServices.clientAuthIncorrect.header=洋蔥站台授權失敗 +onionServices.clientAuthIncorrect=您所提供的金鑰不正確或已被撤銷,請聯絡該洋蔥站台管理員。 +onionServices.clientAuthIncorrect.longDescription=技術細節: %S — 已成功下載該洋蔥服務之識別證,但無法使用客戶端認證資訊進行內容之解密,原因可能是存取權已被撤銷。 # Tor SOCKS error 0xF6: -onionServices.badAddress.pageTitle=載入 Onion 網站發生問題 -onionServices.badAddress.header=無效的 Onion 網站位址 -onionServices.badAddress=提供的 Onion 網站位址無效。請檢查您是否輸入正確。 -onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid. +onionServices.badAddress.pageTitle=載入洋蔥站台時發生問題 +onionServices.badAddress.header=無效的洋蔥站台位址 +onionServices.badAddress=您所提供的洋蔥站台位址無效,請檢查您是否輸入正確。 +onionServices.badAddress.longDescription=技術細節: %S — 您所提供的洋蔥服務位址無效,可能的原因有:位址之總和檢查碼不符、ed25519公開金鑰無效、無效的編碼。 # Tor SOCKS error 0xF7: -onionServices.introTimedOut.pageTitle=載入 Onion 網站發生問題 -onionServices.introTimedOut.header=Onion 網站迴路建立逾時 -onionServices.introTimedOut=無法連線到 Onion 網站,可能是因為網路連線不佳。 -onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit. +onionServices.introTimedOut.pageTitle=載入洋蔥站台時發生問題 +onionServices.introTimedOut.header=洋蔥站台之迴路建立逾時 +onionServices.introTimedOut=無法連線到洋蔥站台,可能是因為網路連線品質不佳。 +onionServices.introTimedOut.longDescription=技術細節: %S — 建立通往該洋蔥服務之會見節點迴路時,發生連線逾時。 # # LOCALIZATION NOTE: %S will be replaced with the .onion address. onionServices.authPrompt.description2=%S 要求您驗證。 -onionServices.authPrompt.keyPlaceholder=請輸入私鑰以使用此 onion 服務 +onionServices.authPrompt.keyPlaceholder=請輸入您的私密金鑰以使用此洋蔥服務 onionServices.authPrompt.done=完成 onionServices.authPrompt.doneAccessKey=d onionServices.authPrompt.invalidKey=請輸入有效金鑰(52 個 Base32 字元,或 44 個 Base64 字元) -onionServices.authPrompt.failedToSetKey=無法使用您的金鑰設定 Tor -onionServices.authPreferences.header=Onion 服務驗證 -onionServices.authPreferences.overview=部分洋蔥服務要求您要使用金鑰 (一種密碼) 辨識您的身分後,才能讓您使用這些服務。 +onionServices.authPrompt.failedToSetKey=無法使用您的金鑰設定洋蔥路由 +onionServices.authPreferences.header=洋蔥服務驗證 +onionServices.authPreferences.overview=部分洋蔥服務要求您使用金鑰 (一種密碼) 進行身份識別後,才允許存取。 onionServices.authPreferences.savedKeys=儲存的金鑰 onionServices.authPreferences.dialogTitle=洋蔥服務金鑰 onionServices.authPreferences.dialogIntro=下列洋蔥網站的金鑰已儲存於您的電腦 -onionServices.authPreferences.onionSite=Onion 網站 +onionServices.authPreferences.onionSite=洋蔥站台 onionServices.authPreferences.onionKey=金鑰 onionServices.authPreferences.remove=移除 onionServices.authPreferences.removeAll=全部移除 -onionServices.authPreferences.failedToGetKeys=無法從 Tor 擷取金鑰 +onionServices.authPreferences.failedToGetKeys=無法從洋蔥路由擷取金鑰 onionServices.authPreferences.failedToRemoveKey=無法移除金鑰 -onionServices.v2Deprecated.pageTitle=V2 Onion Site Deprecation Warning -onionServices.v2Deprecated.header=Version 2 Onion Sites will be deprecated soon -onionServices.v2Deprecated=This onion site will not be reachable soon. Please contact the site administrator and encourage them to upgrade. -onionServices.v2Deprecated.longDescription=Tor is ending its support for version 2 onion services beginning in July 2021, and this onion site will no longer be reachable at this address. If you are the site administrator, upgrade to a version 3 onion service soon. +onionServices.v2Deprecated.pageTitle=V2 版洋蔥站台位址廢棄警告 +onionServices.v2Deprecated.header=第2版的洋蔥站台位址即將被廢棄不用 +onionServices.v2Deprecated=此洋蔥站台即將失效,請聯繫該站台管理員並鼓勵他們進行網站升級。 +onionServices.v2Deprecated.longDescription=洋蔥路由將在2021年七月起停止支援第2版的洋蔥服務,故此洋蔥站台目前所使用的位址也將失效。若您是此站台的管理員,請盡速將此洋蔥服務升級至第3版。 onionServices.v2Deprecated.tryAgain=收到 -onionServices.v2Deprecated.tooltip=This onion site will not be reachable soon +onionServices.v2Deprecated.tooltip=此洋蔥站台即將失效
# Onion-Location strings. -onionLocation.alwaysPrioritize=洋蔥服務總是優先 +onionLocation.alwaysPrioritize=優先使用洋蔥服務 onionLocation.alwaysPrioritizeAccessKey=a onionLocation.notNow=稍後 onionLocation.notNowAccessKey=n -onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship. +onionLocation.description=此網站有透過洋蔥路由網路提供洋蔥服務,這是一個較安全且私密的連線方式,洋蔥服務可以幫助網站擁有者以及其訪客對抗網路監控審查與過濾。 onionLocation.tryThis=試試洋蔥服務 onionLocation.onionAvailable=.onion 可用 onionLocation.learnMore=了解更多… @@ -146,11 +146,11 @@ onionLocation.prioritizeOnionsDescription=優先使用洋蔥網站。 onionLocation.onionServicesTitle=洋蔥服務
# LOCALIZATION NOTE: %S will be replaced with the cryptocurrency address. -cryptoSafetyPrompt.cryptoWarning=A cryptocurrency address (%S) has been copied from an insecure website. It could have been modified. -cryptoSafetyPrompt.whatCanHeading=What can you do about it? -cryptoSafetyPrompt.whatCanBody=You can try reconnecting with a new circuit to establish a secure connection, or accept the risk and dismiss this warning. +cryptoSafetyPrompt.cryptoWarning=從某個不安全的網站上複製了一個加密貨幣的位址(%S),該位址可能已遭到竄改。 +cryptoSafetyPrompt.whatCanHeading=我能怎麼做? +cryptoSafetyPrompt.whatCanBody=您可以試著重新建立一條新的迴路來確保連線安全,或者是忽略此警告並接受風險。 cryptoSafetyPrompt.learnMore=了解更多 -cryptoSafetyPrompt.primaryAction=Reload Tab with a New Circuit +cryptoSafetyPrompt.primaryAction=用另一條新的迴路重新載入此分頁 cryptoSafetyPrompt.primaryActionAccessKey=R -cryptoSafetyPrompt.secondaryAction=Dismiss Warning +cryptoSafetyPrompt.secondaryAction=忽略警告 cryptoSafetyPrompt.secondaryActionAccessKey=B
tor-commits@lists.torproject.org