0x00 前言
笔者前几天自己搭建了一套Nextcloud,使用了Nextcloud的20最新版。但是发现了一个令人感到气愤的情况:存储声明中的中国svg暂时没有包括台湾。遂自行修复了这个问题。并在这里进行记录,以便于后人修改或者是提交issue。
阅读本文,您可能需要掌握的知识:
技能 | 熟练度 |
---|---|
浏览器开发者模式 | 了解 |
shell与服务器面板 | 熟练 |
文本搜索 | 熟练 |
0x10 定位
首先可以打开开发者面板,找到缓存的位置,笔者使用了firefox,选择了debug即可得到如下的界面。
在下面的界面选择app/private/js/chunks文件夹下面。
可以看到有几个安装好的js文件。这里主要需要8开头的文件
这时可以登录到当前网站的后台。找到相同位置下的同名js
与js.map
文件。
打开当前的文件,可以发现几乎不是人类可以读懂的。
这时可以使用cn
进行搜索,这里就可以搜索到一个cn的相关svg定义。
这里就可以得到当前的svg图形。
0x20 修改第一步
找到了图形之后,就可以发现,这种堆叠的方式十分好添加。随后搜索到台湾的位置,将其移动到指定的位置即可。
第二行就是已经加入的svg位置。
加入的svg代码如下
,t("path",{attrs:{d:"M695.686 453.76l-3.06 2.334-.163 4.494 2.646 3.078.655-.58-.08-9.326z"}})
前面的和末尾的逗号视情况取舍
随后搜索tw
删除相关的值即可。这里如果没有删除,就会因为后面的重新填充导致当前无法显示。所以必须要删除才可以。
0x30 修改第二步
第二行可以看到一个被注释掉的文件,名称与上面的js文件一致,但是后缀是js.map
,同样搜索cn
添加指定位置的参数,两者相差无几。但是代码的前缀不同:
,_c('path',{attrs:{\"d\":\"M695.686 453.76l-3.06 2.334-.163 4.494 2.646 3.078.655-.58-.08-9.326z\"}})
同样的,这里也需要删除后面的台湾的相关的字段。但是这里似乎不会直接加载到界面内,所以仅为笔者的个人兴趣使然。
前面的和末尾的逗号视情况取舍。
然后在后台就可以刷到当前中国法定下的全部领土了(可能是因为岛屿们太小了那里面没有放进去)
下图就是修改完成后的图片,修改之前的图片违反中华人民共和国的法律法规,故不放出!
科普:中国领土包括领陆、领水与领空。领陆指国家主权管辖下的陆地及其底土。领土不是平面的,而是一个立体化三维空间,上至高空,下达地底。领土是国家构成的基本要素之一,是国家主权行使的地理空间。 中国的领陆包括中国大陆及其沿海岛屿、台湾岛、海南岛、钓鱼岛、赤尾屿及其附属岛屿、东沙群岛、西沙群岛、中沙群岛、南沙群岛等。领水包括内水和领海两部分。中国的领空指中国领陆和领水的上空,是中国领土的组成部分。
——参见百度百科
0x40 更多
本文首发自 记:关于nextcloud的中国大陆本地化的存储错误svg修改,更多文章可进入我的博客详查。