Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Kenny-Hui committed Jul 24, 2024
0 parents commit be8c56f
Show file tree
Hide file tree
Showing 66 changed files with 6,682 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ['main']

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: 'pages'
cancel-in-progress: true

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload dist folder
path: './dist'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["svelte.svelte-vscode"]
}
661 changes: 661 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# XLEdit
XLEdit is a web-based editor for the translation format [XLIFF](https://en.wikipedia.org/wiki/XLIFF) (1.2) .

<img src="./assets/readme-preview.png">

## Features
- Import/export multiple XLIFF language files and cross-reference them in suggestions
- Apply edit to all languages by editing the original source file
- Add/Remove/Edit Translation Groups, Translation Entry, Notes and Contexts

## What isn't supported (yet, hopefully)
- Importing XLIFF 2.x files
- Attributes for &lt;source&gt; and &lt;target&gt;
- &lt;bin-*&gt; and &lt;alt-trans&gt;
- [Inline Elements](https://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#Struct_InLine)
- &lt;phase&gt; and &lt;phase-group&gt;
- &lt;glossary&gt;
- Many more

## Roadmap
- Basic Translation Memory
- Re-export multiple xliff file tag with the same file
- Add translation for the UI
- (UI) Color theme
- (UI) Dark Mode
- More XLIFF 1 implementation
- XLIFF 2 support

## Development Model
Mood-driven~

## FAQ
### I tried importing my XLIFF file and some parts doesn't behave as I expected
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.
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 :)

### What happens if I mix different XLIFF files together?
While not the intended use case, you should be able to edit **non-source** XLIFF files with different content.
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.

## Credits
- [Lucide](https://github.com/lucide-icons/lucide) - Provids icons for the XLEdit user interface
- [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.
- Modern Web Browsers - Achieves reasonable performance & resource usage all without me worrying about optimizations (yet).

## License
This project is licensed under the AGPL v3
98 changes: 98 additions & 0 deletions assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/readme-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>XLEdit</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
Loading

0 comments on commit be8c56f

Please sign in to comment.