mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 07:22:19 +02:00
Update with comments and type safety
This commit is contained in:
parent
53d63188d6
commit
fb9ac6fd6e
@ -1,8 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
|
||||||
|
* contents or directly related to Pokemon. This includes menu navigation, settings,
|
||||||
|
* account interactions, etc.
|
||||||
|
*/
|
||||||
export const menu = {
|
export const menu = {
|
||||||
"cancel": "Cancel",
|
"cancel": "Cancel",
|
||||||
"continue": "Continue",
|
"continue": "Continue",
|
||||||
"newGame": "New Game",
|
|
||||||
"loadGame": "Load Game",
|
|
||||||
"dailyRun": "Daily Run (Beta)",
|
"dailyRun": "Daily Run (Beta)",
|
||||||
|
"loadGame": "Load Game",
|
||||||
|
"newGame": "New Game",
|
||||||
"selectGameMode": "Select a game mode."
|
"selectGameMode": "Select a game mode."
|
||||||
} as const;
|
} as const;
|
8
src/locales/it/menu.ts
Normal file
8
src/locales/it/menu.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export const menu = {
|
||||||
|
"cancel": "Annulla",
|
||||||
|
"continue": "Continua",
|
||||||
|
"newGame": "Nuova Partita",
|
||||||
|
"loadGame": "Carica Partita",
|
||||||
|
"dailyRun": "Corsa Giornaliera (Beta)",
|
||||||
|
"selectGameMode": "Seleziona una modalità di gioco."
|
||||||
|
} as const;
|
@ -57,7 +57,7 @@ import { SaveSlotUiMode } from "./ui/save-slot-select-ui-handler";
|
|||||||
import { fetchDailyRunSeed, getDailyRunStarters } from "./data/daily-run";
|
import { fetchDailyRunSeed, getDailyRunStarters } from "./data/daily-run";
|
||||||
import { GameModes, gameModes } from "./game-mode";
|
import { GameModes, gameModes } from "./game-mode";
|
||||||
import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
|
import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
|
||||||
import { default as i18next, menuNS }from './plugins/i18n';
|
import i18next from './plugins/i18n';
|
||||||
|
|
||||||
export class LoginPhase extends Phase {
|
export class LoginPhase extends Phase {
|
||||||
private showText: boolean;
|
private showText: boolean;
|
||||||
@ -174,7 +174,7 @@ export class TitlePhase extends Phase {
|
|||||||
const options: OptionSelectItem[] = [];
|
const options: OptionSelectItem[] = [];
|
||||||
if (loggedInUser.lastSessionSlot > -1) {
|
if (loggedInUser.lastSessionSlot > -1) {
|
||||||
options.push({
|
options.push({
|
||||||
label: i18next.t('continue', {ns: menuNS}),
|
label: i18next.t('menu:continue'),
|
||||||
handler: () => this.loadSaveSlot(this.lastSessionData ? -1 : loggedInUser.lastSessionSlot)
|
handler: () => this.loadSaveSlot(this.lastSessionData ? -1 : loggedInUser.lastSessionSlot)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,42 @@
|
|||||||
import i18next from 'i18next';
|
import i18next from 'i18next';
|
||||||
import { menu as enMenu } from '../locales/en/menu';
|
import { menu as enMenu } from '../locales/en/menu';
|
||||||
|
import { menu as itMenu } from '../locales/it/menu';
|
||||||
|
|
||||||
export const menuNS = 'menu';
|
const DEFAULT_LANGUAGE_OVERRIDE = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* i18next is a localization library for maintaining and using translation resources.
|
||||||
|
*
|
||||||
|
* Q: How do I add a new language?
|
||||||
|
* A: To add a new language, create a new folder in the locales directory with the language code.
|
||||||
|
* Each language folder should contain a file for each namespace (ex. menu.ts) with the translations.
|
||||||
|
*
|
||||||
|
* Q: How do I add a new namespace?
|
||||||
|
* A: To add a new namespace, create a new file in each language folder with the translations.
|
||||||
|
* Then update the `resources` field in the init() call and the CustomTypeOptions interface.
|
||||||
|
*/
|
||||||
|
|
||||||
i18next.init({
|
i18next.init({
|
||||||
lng: 'en', // Default language
|
lng: DEFAULT_LANGUAGE_OVERRIDE ? DEFAULT_LANGUAGE_OVERRIDE : 'en',
|
||||||
fallbackLng: 'en', // Fallback language
|
fallbackLng: 'en',
|
||||||
debug: true, // Enable debug mode (optional)
|
debug: true,
|
||||||
resources: {
|
resources: {
|
||||||
en: {
|
en: {
|
||||||
menu: enMenu,
|
menu: enMenu,
|
||||||
},
|
},
|
||||||
|
it: {
|
||||||
|
menu: itMenu,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default i18next;
|
// Module declared to make referencing keys in the localization files type-safe.
|
||||||
|
declare module 'i18next' {
|
||||||
|
interface CustomTypeOptions {
|
||||||
|
resources: {
|
||||||
|
menu: typeof enMenu;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default i18next;
|
||||||
|
Loading…
Reference in New Issue
Block a user