Skip to content

Commit

Permalink
Merge pull request #110 from Pingvin0/feat-hungarian-locale
Browse files Browse the repository at this point in the history
  • Loading branch information
hunghg255 authored Nov 15, 2024
2 parents 1eef4d7 + f972d95 commit a5b824d
Show file tree
Hide file tree
Showing 5 changed files with 178 additions and 3 deletions.
1 change: 1 addition & 0 deletions docs/guide/internationalization.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ Currently, the editor supports the following languages:
| Vietnamese | vi | |
| Simplified Chinese | zh_CN | |
| Brazilian Portuguese | pt_BR | |
| Hungarian | hu_HU | |

## Adding a New Language

Expand Down
1 change: 1 addition & 0 deletions playground/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ function App() {
<button type="button" onClick={() => locale.setLang('en')}>English</button>
<button type="button" onClick={() => locale.setLang('zh_CN')}>Chinese</button>
<button type="button" onClick={() => locale.setLang('pt_BR')}>Português</button>
<button type="button" onClick={() => locale.setLang('hu_HU')}>Hungarian</button>
<button type="button" onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>
{theme === 'dark' ? 'Light' : 'Dark'}
</button>
Expand Down
4 changes: 2 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ export * from '@/extensions'

export { default } from '@/components/RichTextEditor'

import locale, { en, pt_BR, vi, zh_CN } from './locales'
import locale, { en, hu_HU, pt_BR, vi, zh_CN } from './locales'
import { useEditorState } from '@/hooks/useEditorState'

export { locale, en, vi, zh_CN, pt_BR }
export { locale, en, hu_HU, vi, zh_CN, pt_BR }

export type { UseEditorStateReturn } from '@/hooks/useEditorState'
export { useEditorState }
Expand Down
170 changes: 170 additions & 0 deletions src/locales/hu.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
const locale = {
'editor.remove': 'Eltávolítás',
'editor.copy': 'Másolás',
'editor.words': 'SZAVAK',
'editor.characters': 'KARAKTEREK',
'editor.default': 'Alapértelmezett',
'editor.recent': 'Gyakran használt',
'editor.nofill': 'Kitöltés törlése',
'editor.format': 'Formátummásoló',
'editor.delete': 'Törlés',
'editor.edit': 'Szerkesztés',
'editor.settings': 'Beállítások',
'editor.table_of_content': 'Tartalomjegyzék',
'editor.draghandle.tooltip': 'Módosítás',
'editor.copyToClipboard': 'Másolás vágólapra',
'editor.importWord.tooltip': 'Word importálása',
'editor.slash': 'Nyomja meg a \'/\' gombot a parancsokhoz',
'editor.slash.empty': 'Nincs találat',
'editor.slash.format': 'Formátum',
'editor.slash.insert': 'Beszúrás',
'editor.slash.embed': 'Szolgáltatások beágyazása',
'editor.content': 'Írjon be tartalmat',
'editor.fontFamily.tooltip': 'Betűtípus',
'editor.fontFamily.default.tooltip': 'Alapértelmezett',
'editor.moremark': 'Több betűstílus',
'editor.size.small.tooltip': 'Kicsi',
'editor.size.medium.tooltip': 'Közepes',
'editor.size.large.tooltip': 'Borítókép',
'editor.bold.tooltip': 'Félkövér',
'editor.italic.tooltip': 'Dőlt betű',
'editor.underline.tooltip': 'Aláhúzott',
'editor.strike.tooltip': 'Áthúzott',
'editor.color.tooltip': 'Szín',
'editor.color.more': 'Több szín',
'editor.highlight.tooltip': 'Kiemelés',
'editor.lineheight.tooltip': 'Sorköz',
'editor.heading.tooltip': 'Fejlécek',
'editor.heading.h1.tooltip': 'Fejléc 1',
'editor.heading.h2.tooltip': 'Fejléc 2',
'editor.heading.h3.tooltip': 'Fejléc 3',
'editor.heading.h4.tooltip': 'Fejléc 4',
'editor.heading.h5.tooltip': 'Fejléc 5',
'editor.heading.h6.tooltip': 'Fejléc 6',
'editor.paragraph.tooltip': 'Bekezdés',
'editor.textalign.tooltip': 'Igazítás',
'editor.textalign.left.tooltip': 'Bal',
'editor.textalign.center.tooltip': 'Közép',
'editor.textalign.right.tooltip': 'Jobb',
'editor.textalign.justify.tooltip': 'Sorkizárt',
'editor.indent': 'Behúzás',
'editor.indent.indent': 'Behúzás Növelése',
'editor.indent.outdent': 'Behúzás Csökkentése',
'editor.fontSize.tooltip': 'Betűméret',
'editor.fontSize.default.tooltip': 'Alapértelmezett',
'editor.superscript.tooltip': 'Felső index',
'editor.subscript.tooltip': 'Alsó index',
'editor.bulletlist.tooltip': 'Felsorolás',
'editor.orderedlist.tooltip': 'Rendezett lista',
'editor.tasklist.tooltip': 'Feladat lista',
'editor.indent.tooltip': 'Behúzás növelése',
'editor.outdent.tooltip': 'Behúzás csökkentése',
'editor.columns.tooltip': 'Oszlopok',
'editor.link.tooltip': 'Link',
'editor.link.unlink.tooltip': 'Link törlése',
'editor.link.open.tooltip': 'Link megnyitása',
'editor.link.edit.tooltip': 'Link szerkesztése',
'editor.link.dialog.title': 'Link beszúrása',
'editor.link.dialog.link': 'Link',
'editor.link.dialog.text': 'Szöveg',
'editor.link.dialog.openInNewTab': 'Megnyitás új lapon',
'editor.link.dialog.link.placeholder': 'Link célpont',
'editor.link.dialog.text.placeholder': 'Szöveg',
'editor.link.dialog.button.apply': 'Alkalmaz',
'editor.image.tooltip': 'Kép',
'editor.image.dragger.tooltip': 'Kattintson vagy húzza a feltölteni kívánt képet a területre',
'editor.image.float.left.tooltip': 'Lebegtetés balra',
'editor.image.float.none.tooltip': 'Lebegtetés törlése',
'editor.image.float.right.tooltip': 'Lebegtetés jobbra',
'editor.image.dialog.title': 'Kép hozzáadása',
'editor.image.dialog.tab.url': 'URL',
'editor.image.dialog.tab.upload': 'Feltöltés',
'editor.image.dialog.tab.uploadCrop': 'Feltöltés és körbevágás',
'editor.image.dialog.uploading': 'Feltöltés alatt',
'editor.link.dialog.inline': 'Soron belüli',
'editor.image.dialog.form.link': 'Link',
'editor.image.dialog.placeholder': 'Link',
'editor.image.dialog.form.alt': 'Alternatív szöveg',
'editor.image.dialog.form.aspectRatio': 'Eredeti képarány megtartása',
'editor.image.dialog.form.file': 'Fájl',
'editor.image.dialog.button.apply': 'Alkalmaz',
'editor.video.tooltip': 'Videó',
'editor.video.dialog.tab.upload': 'Feltöltés',
'editor.video.dialog.uploading': 'Feltöltés alatt',
'editor.video.dialog.title': 'Videó beágyazása vagy feltöltése',
'editor.video.dialog.link': 'Link',
'editor.video.dialog.placeholder': 'Link',
'editor.video.dialog.button.apply': 'Alkalmaz',
'editor.table.tooltip': 'Táblázat',
'editor.table.menu.insert_table': 'Táblázat beszúrása',
'editor.table.menu.insert_table.with_header_row': 'Fejléc sorral',
'editor.table.menu.add_column_before': 'Oszlop beszúrása balra',
'editor.table.menu.add_column_after': 'Oszlop beszúrása jobbra',
'editor.table.menu.delete_column': 'Oszlop törlése',
'editor.table.menu.add_row_before': 'Sor beszúrása felülre',
'editor.table.menu.add_row_after': 'Sor beszúrása alulra',
'editor.table.menu.delete_row': 'Sor törlése',
'editor.table.menu.merge_or_split_cells': 'Cellák egyesítése vagy szétválasztása',
'editor.table.menu.delete_table': 'Táblázat törlése',
'editor.blockquote.tooltip': 'Blokkidézet',
'editor.horizontalrule.tooltip': 'Vízszintes vonal',
'editor.code.tooltip': 'Kód',
'editor.codeblock.tooltip': 'Kód Blokk',
'editor.clear.tooltip': 'Formatálás Törlése',
'editor.undo.tooltip': 'Visszavonás',
'editor.redo.tooltip': 'Visszaállítás',
'editor.fullscreen.tooltip.fullscreen': 'Teljes képernyős mód',
'editor.fullscreen.tooltip.exit': 'Kilépés teljes képernyős módból',
'editor.imageUpload.cancel': 'Mégsem',
'editor.imageUpload.crop': 'Körbevágás',
'editor.imageUpload.fileTypeNotSupported': 'Fájltípus nem támogatott',
'editor.imageUpload.fileSizeTooBig': 'A fájlméret túl nagy, a maximum méret',
'editor.table.menu.insertColumnBefore': 'Oszlop beszúrása balra',
'editor.table.menu.insertColumnAfter': 'Oszlop beszúrása jobbra',
'editor.table.menu.deleteColumn': 'Oszlop törlése',
'editor.table.menu.insertRowAbove': 'Sor beszúrása felülre',
'editor.table.menu.insertRowBelow': 'Sor beszúrása alulra',
'editor.table.menu.deleteRow': 'Sor törlése',
'editor.table.menu.mergeCells': 'Cellák egyesítése',
'editor.table.menu.splitCells': 'Cellék szétválasztása',
'editor.table.menu.deleteTable': 'Táblázat törlése',
'editor.table.menu.setCellsBgColor': 'Cella háttérszín',
'editor.emoji.tooltip': 'Emoji',
'editor.iframe.tooltip': 'Beágyazás',
'editor.searchAndReplace.tooltip': 'Keresés és csere',
'editor.search.dialog.text': 'Keres',
'editor.replace.dialog.text': 'Csere',
'editor.replaceAll.dialog.text': 'Összes cseréje',
'editor.previous.dialog.text': 'Előző',
'editor.next.dialog.text': 'Következő',
'no_result_found': 'Nincs találat',
'Smileys & People': 'Arcok és emberek',
'Animals & Nature': 'Állatok és természet',
'Food & Drink': 'Étel és ital',
'Activity': 'Aktivitás',
'Travel & Places': 'Utazás és helyek',
'Object': 'Tárgyak',
'Symbol': 'Szimbólumok',
'Flags': 'Zászlók',
'Frequently used': 'Gyakran használt',
'editor.formula.dialog.text': 'Formula',
'editor.katex.tooltip': 'Matematikai formula',
'editor.exportPdf.tooltip': 'PDF exportálása',
'editor.exportWord.tooltip': 'Word exportálása',
'editor.importWrod.tooltip': 'Word importálása',
'editor.textDirection.tooltip': 'Szövegirány',
'editor.textDirection.auto.tooltip': 'Automatikus',
'editor.textDirection.ltr.tooltip': 'Balról jobbra',
'editor.textDirection.rtl.tooltip': 'Jobbról balra',
'editor.attachment.tooltip': 'Csatolmány',
'editor.attachment.uploading': 'Feltöltés alatt',
'editor.attachment.please_upload': 'Töltse fel a fájlt',
'editor.imageGif.tooltip': 'Gif',
'editor.replace.caseSensitive': 'Kisbetű-nagybetű érzékenység',
'editor.mermaid.tooltip': 'Mermaid',
'editor.twitter.tooltip': 'Twitter',
'editor.tooltip.flipX': 'Vízszintes tükrözés',
'editor.tooltip.flipY': 'Függőleges tükrözés',
}

export default locale
5 changes: 4 additions & 1 deletion src/locales/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ import en from './en'
import pt_BR from './pt-br'
import vi from './vi'
import zh_CN from './zh-cn'
import hu_HU from './hu'
import mitt from '@/utils/mitt'
import type { EventType } from '@/utils/mitt'
import { DEFAULT_LANG_VALUE } from '@/constants'

// Define supported language types
type LanguageType = 'en' | 'vi' | 'zh_CN' | 'pt_BR' | (string & {})
type LanguageType = 'en' | 'hu_HU' | 'vi' | 'zh_CN' | 'pt_BR' | (string & {})

// Define message key types based on the 'en' locale
type MessageKeysType = keyof typeof en
Expand All @@ -32,6 +33,7 @@ export const DEFAULT_LOCALE: LocaleInterface = {
lang: DEFAULT_LANG_VALUE,
message: {
en,
hu_HU,
vi,
zh_CN,
pt_BR,
Expand Down Expand Up @@ -161,3 +163,4 @@ export { default as en } from './en'
export { default as pt_BR } from './pt-br'
export { default as vi } from './vi'
export { default as zh_CN } from './zh-cn'
export { default as hu_HU } from './hu'

0 comments on commit a5b824d

Please sign in to comment.