OpenProject 翻譯
我在進行OpenProject翻譯時,把特殊的部分列出來(後續在咖啡偶之書更新):
Placeholder Users -> 非專案成員 ── 原本翻譯成佔位符用戶
Repository -> 版本庫 ── 大部分都翻譯成儲存庫,但在Open project很確定是版本控管git or svn
要抓特定檔案裏面特定字串,可執行以下指令
find . -name '特定檔案' | xargs egrep "特定字串"

我在進行OpenProject翻譯時,把特殊的部分列出來(後續在咖啡偶之書更新):
Placeholder Users -> 非專案成員 ── 原本翻譯成佔位符用戶
Repository -> 版本庫 ── 大部分都翻譯成儲存庫,但在Open project很確定是版本控管git or svn
要抓特定檔案裏面特定字串,可執行以下指令
find . -name '特定檔案' | xargs egrep "特定字串"
公司有追蹤「檔案過期」需求,最方便就是賦予檔案新的屬性—過期日,作為nextcloud粉絲,當然由nextcloud著手,萬幸有個app customproperties能達到要求,最後再寫個程式追查一下資料庫資料表oc_properties 過期日資料,就可以完成系統自動通知功能,定期通知檔案主人快到期,讓主人進行延展或是不再追蹤。
但是該app已經有一陣子沒更新了,不支援nextcloud 25以上版本,有人告知可以小改繼續在25、26版使用,真是幸運,我也依樣畫葫蘆,弄了一個能支援25~28的版本來,有興趣的可以按此下載,下載後先解開zip可得tar.gz檔案,再解開成一個目錄「customproperties」,將整個目錄放在nextcloud的custom_apps目錄裡,並且確認目錄權限正確後,回到nextcloud就會出現「 Custom Properties」外掛,即可啟用。
我在去年讓nextcloud改用collabora online,原因為onlyoffice官方編譯的社群版本限制只能20人使用,只好用collabora online 無限人版;最近同事又開始抱怨與M$ office相容性不好,這樣會影響我想要讓大家習慣上雲端進行檔案編輯的目標。於是我挖呀挖呀挖,找了找,想要找一款好用的線上編輯office軟體。
首選台灣晟鑫科技https://www.ossii.com.tw/,一般社群版就很好用了,與微軟相容性極高。
但公司需要更多的功能,只好捨棄oxoo office社群版,我又花了些時間回頭看onlyoffice,冀望有人重新編譯無限人版,沒多久還真的找到,藏在一個很低調的github頁面上,直接是容器版本,實在太棒了。
我建議的安裝方式與之前一樣,只要改後面的images來源就可以了,請參考這裡。
ghcr.io/thomisus/onlyoffice-documentserver-unlimited:7.4.1
2023/9/25 後記,原來是「Collaborative tags」害我不能正常使用onlyoffice設定功能。
—
我在重新回歸onlyoffice時候,發現無法透過在nextcloud的 「onlyoffice 設定畫面」進行設定,只能使用指令,只好將相關指令一併紀錄下來。
# 列出onlyoffice設定 docker exec -u www-data nextcloud php occ config:list onlyoffice # 清除nextcloud設定 docker exec -u www-data nextcloud php occ config:app:delete onlyoffice DocumentServerUrl docker exec -u www-data nextcloud php occ config:app:delete onlyoffice StorageUrl docker exec -u www-data nextcloud php occ config:app:delete onlyoffice advanced docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationChat docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationCompactHeader docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationFeedback docker exec -u www-data nextcloud php occ config:app:delete onlyoffice DocumentServerInternalUrl docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationForcesave docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationHelp docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationReviewDisplay docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationTheme docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationToolbarNoTabs docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customization_macros docker exec -u www-data nextcloud php occ config:app:delete onlyoffice defFormats docker exec -u www-data nextcloud php occ config:app:delete onlyoffice demo docker exec -u www-data nextcloud php occ config:app:delete onlyoffice editFormats docker exec -u www-data nextcloud php occ config:app:delete onlyoffice enabled docker exec -u www-data nextcloud php occ config:app:delete onlyoffice groups docker exec -u www-data nextcloud php occ config:app:delete onlyoffice installed_version docker exec -u www-data nextcloud php occ config:app:delete onlyoffice jwt_header docker exec -u www-data nextcloud php occ config:app:delete onlyoffice jwt_secret docker exec -u www-data nextcloud php occ config:app:delete onlyoffice sameTab docker exec -u www-data nextcloud php occ config:app:delete onlyoffice settings_error docker exec -u www-data nextcloud php occ config:app:delete onlyoffice types docker exec -u www-data nextcloud php occ config:app:delete onlyoffice verify_peer_off docker exec -u www-data nextcloud php occ config:app:delete onlyoffice versionHistory docker exec -u www-data nextcloud php occ config:app:delete onlyoffice preview
#設定onlyoffice網址,忽略證書,密碼 docker exec -u www-data nextcloud php occ config:app:set onlyoffice DocumentServerUrl --value=https://xxx docker exec -u www-data nextcloud php occ config:app:set onlyoffice verify_peer_off --value=true docker exec -u www-data nextcloud php occ config:app:set onlyoffice jwt_secret --value=密碼
自己寫 java 呼叫 jgit 函式庫clone專案,卻失敗,我看到錯誤訊息是沒有帳號密碼;可是程式明明有輸入帳號密碼,後來爬文才發現我有案子有使用LFS,需要設定快取把帳號密碼儲存起來,否則會一直要求輸入帳號密碼造成程式錯誤。
git lfs 需要2.0或是以上才行
git config --global lfs.cachecredentials
一直以來我都以為檔案總管的檔案,只能依照上面的欄位進行排序,但是今天被中國同事教育了一番,我錯了!
這位同事工作需要拍照,再將照片存到電腦,檔案總管選擇「圖示(大中小)」進行手動排序,就可以很容易觀看到差異;原本他使用的電腦可以這樣隨意移動,但是換個電腦就不行。
最後問到我這裡來,我就說不可能,只能針對上面的欄位進行自動排序(信心滿滿);但是該同事啪啪打臉我,拿能自己排序的電腦給我看,最後我汗顏了,真是不能太鐵齒。
後來才發現,這功能是windows xp專有的,也就是xp能夠停用「自動排序」,win7以後基本上不能停用自動排序,於是有神人就弄出可以停用自動排序的設定檔案,請按此下載,解開點兩下就可以了。
安裝wordpress這麼多次,第一次遇到掛載子目錄的需求,也就是安裝完畢,透過反向代理程式,網址看起來像這樣:
https://xxx.xxx.xxx/subfolder
一樣感謝google, 我爬了很多文,說法很多,自己覺得修改檔案這方式很靠譜(非透過web設定),可以避免掛載正式網址時候,若因錯誤很難進入網址改或是到資料庫研究要改哪個table:
1.、修改 wp-config.php
define('WP_SITEURL', 'https://你的網站名稱/你的子目錄');
define('WP_HOME', 'https://你的網站名稱/你的子目錄');
#以下是可以不使用ftp就安裝外掛
define('FS_METHOD', 'direct');
2、修改.htaccess (與wp-config.php都是在wordpress根目錄)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /你的子目錄/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /你的子目錄/index.php [L]
</IfModule>
3、nginx反向代理
location /你的子目錄 {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_headers_hash_bucket_size 128;
proxy_pass http://容器ip(通常127.0.0.1):port/你的子目錄;
}
4、apache 反向代理
等待遇到實例
wordpress有個外掛「Super Video Player」能播放mp4影音檔案,但是很耗流量,若放在雲端費用將會很高;因此有必要考慮改用串流方式播放,可以節省一些流量,有個peertube串流系統很棒,也可以安裝容器,我們公司使用到現在,很穩定又好用,安裝方式請按這裡。
朋友wordpress網站使用 super video player 播放mp4,可以隱藏下載選項,讓麻瓜使用者不是很容易取得(麻瓜以上就很容易了);若要改成 peertube,則會看到下載選項,這樣朋友就不願意了,於是我爬文爬丫爬,最後發現只要加上一行,也能做到與super video player 一樣,讓麻瓜不容易取得/下載檔案。
[root@firewall ~]# docker exec -it peertube_peertube_1 bash
root@770eb53d9cf6:/app# find .|grep embed.html
./client/dist/standalone/videos/test-embed.html
./client/dist/standalone/videos/embed.html
./client/src/standalone/videos/embed.html
./client/src/standalone/videos/test-embed.html
root@770eb53d9cf6:/app# vi ./client/dist/standalone/videos/embed.html
## 編輯 embed.html ,在head之前加上以下語法,然後退出重新執行peertube容器
# 出處 https://framacolibri.org/t/how-to-disable-context-menu-for-peertube/10998
<style> .vjs-contextmenu-ui-menu { display: none !important; } </style>
## 編輯 embed.html ,body 改成以下這樣
<body id="custom-css" class="standalone-video-embed" oncontextmenu="return false" onselectstart="return false" ondragstart="return false">
另外peertube 連結要嵌在網頁上,只要滑鼠移到影片上,右鍵選「複製嵌入程式碼」,再稍微修改一下即可。
我使用 「aspect-ratio : 16/9」方式自動會依照網頁大小而微調 ,很方便
<iframe src="https://peertube.test.com.tw/videos/embed/1586a669-b649-4e3f-974c-ec4d42a0bf9e" style="aspect-ratio: 16/9;height: 100%; width: 100%;" frameborder="0" width="560" height="315" allowfullscreen="" sandbox="allow-same-origin allow-scripts"></iframe>
2023/08/20
—
後來發現peertube有個bug,就算網路正常撥放,chrome還是會出現轉圈圈的情況,但firefox不會,我後來發現乾脆先暫時停掉轉圈圈功能,一樣在head前加上一行。(很可惜peertube主要開發者很剛愎自用,以前就交手過了,所以我不會回報這問題,前幾週也有人反應,但都沒受到重視)
.vjs-loading-spinner{display:none!important;}
最近買的書有點多。
既然有好些書都還沒看(其實是誠品會員年度續約需要買8次書),於是我每天得早早起床,到冷氣強、燈光美、氣氛佳的便利商店花點時間看書。
某日我看著看著,突然發現便利商店前面的「柱子」有「公用電話」,好笑的是,我天天經過,卻從來沒注意到它。我想這一定是我前陣子買的「公用電話專用」幣於昨天到手了,才會引起我的注意;不過,現在專用幣已不能使用,新的公用電話早已採用直接感應的方式付款。
我之所以會買這個幣,原因為:1、70年代鑄造,問世時有其歷史特殊意義;2、刻印「古早味撥盤式電話」,金光閃閃復古好看。
70年代,當時世界正處於「石油危機」,台灣因為「一元」流通幣,含有稀缺金屬,已經超越幣值,反而變得「不流通」了。
這樣麻煩來了,民眾沒一元「硬幣」可到公用電話打電話,就算有也不拿出,甚至高價賣掉;但是電話還是要用的,而「電話」這種高科技產物,可不是家家戶戶都有,因此人們只好上訪陳情,希望政府解決這問題。最後,電信總局與台灣銀行想出一帖妙方:鑄造「公用電話專用」幣(材質避開稀缺金屬)。此法一出,民眾可用紙鈔兌換代幣使用,解決無幣可用窘況,實在太有才了。
石油危機過後,電話專用幣於1976年開始回收銷毀。如今,「公用電話專用」幣反而稀缺,我最近買了10枚,既然專用幣有「聯繫友人」之意涵,就很想學金庸《俠客行》裡的謝煙客,無論是誰,只要拿到謝煙客的「玄鐵令」,就可以要求他做一件事,讓我當當大俠過過癮。當然啦,我的「大俠」幣,肯定遠不如書中人物之「玄鐵令」,擁有者大概也只能要求我「重灌電腦」吧。
#錢幣
#公用電話專用幣
今天我的電腦(win11),出現怪怪的「藍框框」,這個藍框框還會自己跳來跳去、靈活走位,真是嚇死寶寶了。
原來是誤開啟「朗讀程式」,這現象我以前遇過,但忘了甚麼原因造成。隨後我google許久,原來是我誤按「快速鍵」(Windows 標誌鍵 + Ctrl + Enter),系統就自己「朗讀了」起來 XD;因為已經發生兩次,代表我也會偶發誤觸這群快速鍵組合,所以我趁「記憶尤新」的時候,趕快記錄下來。