Skip to content

Commit be8c56f

Browse files
committed
Initial commit
0 parents  commit be8c56f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+6682
-0
lines changed

.github/workflows/build.yml

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Simple workflow for deploying static content to GitHub Pages
2+
name: Deploy static content to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches: ['main']
8+
9+
# Allows you to run this workflow manually from the Actions tab
10+
workflow_dispatch:
11+
12+
# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
# Allow one concurrent deployment
19+
concurrency:
20+
group: 'pages'
21+
cancel-in-progress: true
22+
23+
jobs:
24+
# Single deploy job since we're just deploying
25+
deploy:
26+
environment:
27+
name: github-pages
28+
url: ${{ steps.deployment.outputs.page_url }}
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout
32+
uses: actions/checkout@v4
33+
- name: Set up Node
34+
uses: actions/setup-node@v4
35+
with:
36+
node-version: 20
37+
cache: 'npm'
38+
- name: Install dependencies
39+
run: npm ci
40+
- name: Build
41+
run: npm run build
42+
- name: Setup Pages
43+
uses: actions/configure-pages@v4
44+
- name: Upload artifact
45+
uses: actions/upload-pages-artifact@v3
46+
with:
47+
# Upload dist folder
48+
path: './dist'
49+
- name: Deploy to GitHub Pages
50+
id: deployment
51+
uses: actions/deploy-pages@v4

.gitignore

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

.vscode/extensions.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["svelte.svelte-vscode"]
3+
}

LICENSE

+661
Large diffs are not rendered by default.

README.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# XLEdit
2+
XLEdit is a web-based editor for the translation format [XLIFF](https://en.wikipedia.org/wiki/XLIFF) (1.2) .
3+
4+
<img src="./assets/readme-preview.png">
5+
6+
## Features
7+
- Import/export multiple XLIFF language files and cross-reference them in suggestions
8+
- Apply edit to all languages by editing the original source file
9+
- Add/Remove/Edit Translation Groups, Translation Entry, Notes and Contexts
10+
11+
## What isn't supported (yet, hopefully)
12+
- Importing XLIFF 2.x files
13+
- Attributes for &lt;source&gt; and &lt;target&gt;
14+
- &lt;bin-*&gt; and &lt;alt-trans&gt;
15+
- [Inline Elements](https://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#Struct_InLine)
16+
- &lt;phase&gt; and &lt;phase-group&gt;
17+
- &lt;glossary&gt;
18+
- Many more
19+
20+
## Roadmap
21+
- Basic Translation Memory
22+
- Re-export multiple xliff file tag with the same file
23+
- Add translation for the UI
24+
- (UI) Color theme
25+
- (UI) Dark Mode
26+
- More XLIFF 1 implementation
27+
- XLIFF 2 support
28+
29+
## Development Model
30+
Mood-driven~
31+
32+
## FAQ
33+
### I tried importing my XLIFF file and some parts doesn't behave as I expected
34+
The XLIFF format is quite versatial, as such there are likely lots of cases where things would go wrong and that I have not accounted for.
35+
In any case, [Please raise an issue here](https://github.com/Kenny-Hui/xledit/issues), along with a sample xliff file that can reproduce the issue, and when I feel good one day I may have a look at it :)
36+
37+
### What happens if I mix different XLIFF files together?
38+
While not the intended use case, you should be able to edit **non-source** XLIFF files with different content.
39+
It is however not recommended to edit the source file with different translated files as it is assumed that the source file is the basis for other files loaded.
40+
41+
## Credits
42+
- [Lucide](https://github.com/lucide-icons/lucide) - Provids icons for the XLEdit user interface
43+
- [JSZip](https://github.com/Stuk/jszip), [xml-beautify](https://github.com/riversun/xml-beautify), [string-similarity-js](https://www.npmjs.com/package/string-similarity-js) - Maintaining libraries that XLEdit and possibly dozens of website you visit everyday uses.
44+
- Modern Web Browsers - Achieves reasonable performance & resource usage all without me worrying about optimizations (yet).
45+
46+
## License
47+
This project is licensed under the AGPL v3

assets/logo.svg

+98
Loading

assets/readme-preview.png

354 KB
Loading

index.html

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>XLEdit</title>
8+
</head>
9+
<body>
10+
<div id="app"></div>
11+
<script type="module" src="/src/main.ts"></script>
12+
</body>
13+
</html>

0 commit comments

Comments
 (0)